Renault

Adapter für Autos von Renault, Dacia und Alpine

Aktueller Release
1.1.0
Entwickler
TA2k
Lizenz
MIT

Renault / Dacia / Alpine Adapter für ioBroker

Dieser Adapter verbindet ioBroker mit der Cloud von Renault , Dacia und Alpine . Er liest Fahrzeugdaten (Batterie, Ladevorgang, Klimaanlage, Kilometerstand, Standort, Reifendruck usw.) aus und sendet Fernbefehle (Klimaanlage, Ladevorgang, Ladebegrenzungen, Hupe und Licht) für verbundene Modelle wie den Renault Zoe, Megane E-Tech, Renault 5, den Dacia Spring und den Alpine A290.

Der Adapter meldet sich mit dem Konto der My Renault- , My Dacia- oder My Alpine -App an. Ein Fahrzeug funktioniert mit dem Adapter, wenn es über diese App gesteuert werden kann.

Installation / Anmeldung

  1. Installieren Sie den Adapter über die ioBroker-Admin-Oberfläche.
  2. Öffnen Sie die Adapterkonfiguration und geben Sie die Zugangsdaten Ihres My Renault (oder My Dacia / My Alpine ) Kontos ein: App-E-Mail-Adresse und App-Passwort.
  3. Wählen Sie die Marke Ihrer App aus: Renault / Dacia für meinen Renault und meinen Dacia, Alpine Für My Alpine. Alle drei Apps melden sich beim selben Renault-Service an; die Marke entscheidet, welches Ihrer Anmeldekonten der Adapter verwendet.
  4. Wählen Sie in der App das Land Ihres Kontos aus.
  5. Klicken Sie auf „Testanmeldung“ , um E-Mail-Adresse und Passwort vor dem Speichern zu überprüfen. Die Instanz muss ausgeführt werden, damit die Schaltfläche funktioniert.
  6. Optional können Sie das Abfrageintervall in Minuten und den API-Schlüssel festlegen (für die automatische Erkennung leer lassen).
  7. Speichern Sie die Einstellungen, und die Instanz beginnt mit der Abfrage. Die Verbindungsanzeige unterhalb der Anmeldefelder zeigt an, ob eine Verbindung besteht.

Unterstützte Modelle

Welche Modelle jeweils unterstützt werden, erfährt man aus der Endpunkttabelle von renault-api (src/renault_api/kamereon/models.py (Weiterlesen am 17.09.2026). yes: unterstützt, no: wird nicht unterstützt, daher erstellt der Adapter weder den Zustand noch sendet er die Anfrage. ? Die Renault-API gibt keine Auskunft, daher versucht der Adapter es. Ein Modell, das nicht in der Tabelle enthalten ist, wird bei jeder Anfrage berücksichtigt; was das Auto ablehnt, wird einmal täglich erneut abgefragt. Ihr Modellcode befindet sich in general.vehicleDetails.model.code Die

Renault

ModellCodeBatterieCockpitKlimaLadevorgang gestartetLadevorgang gestopptLadegrenzenHupe / LichterReifendruckWarnmeldungen
Arkana E-tech VollhybridXJL2TR?Ja?????NEIN?
AUSTRALXHN1SUNEINJaNEINNEINNEINNEINJaNEIN?
CAPTUR IIXJB1SUJaJaJaNEINNEINNEINNEINNEIN?
CAPTUR II GPLXJB2SUNEINJaNEINNEINNEINNEINJaNEINNEIN
CLIO VXJA1VPNEINJaNEINNEINNEINNEINNEINNEINNEIN
CLIO VXJA2VPNEINJaNEINNEINNEINNEINNEINNEINNEIN
MEGANE E-TECHXCB1VEJaJaJaJaNEINJaJaNEIN?
Megane IVXFB2BIJaJa?????NEIN?
Megane IV Break (E-Tech Plug-in-Hybrid)XFB2BKJaJaJaJa??NEINNEIN?
RafaleXHN1CPJaJa?NEINNEIN?JaNEIN?
Renault 5 E-TECHR5E1VEJaJaJaJaNEINJaJaNEINJa
Renault Espace VI (OpenRLink)XHN1MLNEINJaNEINNEINNEINNEINJaNEINNEIN
Renault Master E-TechXDD1VEJaJaJaJaNEINJaJaNEIN?
Renault R4 E-TechA4E1VEJaJaJaJaNEINJaJaNEIN?
Renault Symbioz 2025XJB2CPNEINJaNEINNEINNEINNEINJaNEIN?
SCENIC E-TECHXCB1SEJaJaJaJaNEINJaJaNEIN?
TWINGO IIIX071VEJaJa?????NEIN?
ZOE Phase 1X101VEJaJaJaJa?NEIN?NEIN?
ZOE Phase 2X102VEJaJaJaJaJaNEINNEINJa?

Dacia

ModellCodeBatterieCockpitKlimaLadevorgang gestartetLadevorgang gestopptLadegrenzenHupe / LichterReifendruckWarnmeldungen
DACIA BIGSTER HYBRID 155 (ohne Elektroantrieb)BD11SLNEINJa?NEINNEINNEINNEINNEINNEIN
Dacia Duster IIIDU31SUNEINJa???NEINNEINNEIN?
DACIA SANDERO III (ECO-G, Benzin+LPG; Motorenergietyp ANDERE)XJF2BINEINJaNEINNEINNEINNEINJaNEINNEIN
DACIA SPRINGXBG1VEJaJaJaJaJaNEINNEINNEINNEIN

alpin

ModellCodeBatterieCockpitKlimaLadevorgang gestartetLadevorgang gestopptLadegrenzenHupe / LichterReifendruckWarnmeldungen
Alpine A290A5E1AEJaJaJaJaNEINJaJaNEINNEIN

Fernbedienung

Jedes Fahrzeug wird anhand seiner Fahrzeugidentifikationsnummer (VIN) als Gerät angelegt. Fernsteuerungsbefehle werden als Zustände unter „Zustände“ bereitgestellt. renault.0.<VIN>.remote.*:

ZustandTypRolleAktion
climateStartboolescher Wertbutton.startKlimaanlage starten
climateStopboolescher Wertbutton.stopKlimaanlage abschalten
climateTemperatureNummerlevel.temperatureZieltemperatur in °C für den nächsten Start (Standardwert 21)
chargingStartboolescher Wertbutton.startLadevorgang starten (siehe unten)
chargingStopboolescher Wertbutton.stopLadevorgang einstellen
chargeLimitMinNummerlevelMindestladestand in %, 15 bis 45 in 5er-Schritten
chargeLimitTargetNummerlevelZielladungsgrad in %, 55 bis 100 in 5er-Schritten
chargeModeZeichenkettetextalways, always_charging, schedule_mode oder scheduled; zeigt den vom Auto gemeldeten Modus an
hornStartboolescher Wertbutton.starthupen
lightsStartboolescher Wertbutton.startLicht aufblitzen lassen
refreshLocationboolescher WertbuttonLesen Sie jetzt den Standort aus der Cloud.
askForLocationRefreshboolescher WertbuttonBitten Sie das Auto, seine Position hochzuladen, und lesen Sie die Position 30 Sekunden später ab.
refreshAllboolescher WertbuttonAlle Fahrzeugdaten jetzt abfragen
refreshBatteryboolescher WertbuttonLesen Sie jetzt den Akkustand aus der Cloud.
refreshClimateboolescher WertbuttonLesen Sie den Status der Klimaanlage (hvac-status) aus der Cloud jetzt
lastCommandErrorZeichenkettetextFehler des letzten Befehls, leeres Fenster nach erfolgreichem Befehl

Ein Knopf wird durch Schreiben gedrückt true Der Adapter setzt es zurück auf false mit ack: true sobald der Befehl bearbeitet wurde; lastCommandError Zeigt an, ob die Renault-Cloud die Anfrage akzeptiert hat. Das Fahrzeug führt sie anschließend aus, und die Datenstände zeigen das Ergebnis nach der nächsten Abfrage an, zum Beispiel. hvac-status.hvacStatus Und battery-status.chargingStatus Die

chargeLimitMin Und chargeLimitTarget werden zusammen gesendet, daher benötigt der Adapter die andere Begrenzung von soc-levels Die Daten werden einmal pro Stunde ausgelesen; direkt nach dem Start wartet ein Schreibvorgang auf diesen ersten Auslesevorgang. Beide Zustände zeigen die vom Fahrzeug gemeldeten Grenzwerte an, auch nach einer Änderung in der App.

Der refresh… Die Tasten lesen nur das aus, was in der Cloud gespeichert ist; das Auto lädt die Daten selbstständig hoch, zum Beispiel nach einem Ladevorgang an der Wallbox oder wenn es ausgeschaltet wird. askForLocationRefresh Zuerst fordert es das Auto auf, seine Position hochzuladen, wodurch dessen Telematiksystem aktiviert wird; es liest die Position erst, wenn die Cloud diese Anfrage akzeptiert hat, und das Ergebnis ist in lastCommandError Drücken Sie die Taste nicht in einer Endlosschleife innerhalb eines Skripts, da jeder Tastendruck das Fahrzeug aktiviert und die 12-V-Batterie belastet. Der Status von Batterie und Klimaanlage kann nicht abgefragt werden: Zoe Phase 2 beantwortet Aktualisierungsanfragen, die von anderen Projekten bekannt sind, mit dem Fehlercode 404. Jeder Tastendruck erfordert einen Lesevorgang anstelle einer vollständigen Abfrage, und die Fahrzeugdaten werden maximal alle drei Minuten ausgelesen.

Ein Skript, das den Wandbox-Pressen folgt refreshBattery selbst, wenn das Auto Zeit zum Hochladen hatte, beispielsweise eine Minute nach dem Wechsel der Wallbox. Häufige Nutzung von refreshAll kann das Anfragekontingent des Kontos erschöpfen, wodurch auch die My Renault App blockiert wird.

Welche Anfrage ein Befehl sendet und welche Fahrzeugdaten der Adapter abfragt, hängt vom Modell ab. Der Adapter verwendet die Endpunkttabelle von renault-api (Modellcode in ). general.vehicleDetails.model.code):

  • Für Modelle, die vom Modell nicht unterstützt werden, wird keine entsprechende Schaltfläche erstellt. Modelle, die den Ladevorgang nicht ferngesteuert stoppen können, wie beispielsweise der Megane E-Tech, Renault 4, Renault 5 und Alpine A290, verfügen über keine solche Schaltfläche. chargingStop Die
  • Renault 4, Renault 5, Alpine A290, Scenic E-Tech und Master E-Tech werden nach einem Ladeplan geladen. Bei diesen Modellen chargingStart Deaktiviert alle Ladeprogramme , wie es die My Renault App tut; aktivieren Sie sie anschließend wieder in der App.
  • Daten, die das Modell nicht bereitstellt, werden nicht abgefragt, wodurch Anfragen eingespart werden.
  • Ein Modell, das renault-api noch nicht auflistet, erhält die Standardanfragen: Jeder Befehl und jeder Endpunkt wird ausprobiert, und nicht unterstützte Endpunkte werden einmal täglich erneut abgefragt.

Fahrzeugdaten

Die Daten jedes Endpunkts werden in einen unten stehenden Kanal geschrieben. renault.0.<VIN>, benannt nach dem Endpunkt, zum Beispiel battery-status, cockpit Und hvac-status Die meisten dieser Fragen werden in jeder Umfrage gestellt; sie ändern sich langsam und werden einmal pro Stunde gestellt:

KanalInhalt
charge-historyGebühren pro Tag
chargesEinzelgebühren
pressureReifendruck pro Rad in mbar und ein Statuscode
alertsWarnmeldungen des Fahrzeugs (Renault 5); eine gelöschte Warnmeldung wird entfernt
soc-levelsMindest- und Ziel-Ladeniveau

Häufig gestellte Fragen

Im Protokoll steht: „Funktion für … nicht gefunden. Ignorieren … für 24 Stunden.“ Das Fahrzeug oder sein Servicepaket stellt diese Daten nicht bereit. Der Adapter fragt einmal täglich erneut ab, was eine Anfrage kostet.

Im Protokoll wird „Ungültige Benutzer-ID oder ungültiges Passwort“ angezeigt, oder die Anmeldung wurde abgelehnt. Legen Sie in der My Renault (My Dacia, My Alpine) App ein neues Passwort fest, geben Sie es in den Adaptereinstellungen ein und starten Sie die Instanz neu. Bis dahin sendet der Adapter keine Befehle und kann das Konto daher nicht mit dem alten Passwort sperren.

Das Protokoll zeigt an, dass das Renault-Anfragekontingent (429) aufgebraucht ist. Das Konto erlaubt ca. 60 Anfragen pro Stunde, die mit der App geteilt werden. Der Adapter pausiert selbstständig für 15, 30 und dann 60 Minuten. Erhöhen Sie das Aktualisierungsintervall und verwenden Sie refreshAll selten; der Adapter warnt einmal, wenn seine Einstellungen mehr Anfragen benötigen, als das Kontingent zulässt.

** chargingStart Ich habe meinen Ladeplan deaktiviert.** Bei Renault 4, Renault 5, Alpine A290, Scenic E-Tech und Master E-Tech wird der Ladevorgang so gestartet; die App funktioniert genauso. Aktivieren Sie die Programme anschließend wieder in der App.

Ein Remote-Status fehlt. Das Modell unterstützt den Befehl laut obiger Tabelle nicht; der Adapter erstellt ihn nicht und entfernt ihn, falls er von einer älteren Version erstellt wurde.

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.