<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[Test] Omoda &#x2F; Jaecoo Adapter (omoda) v0.2.0]]></title><description><![CDATA[<table class="table table-bordered table-striped">
<thead>
<tr>
<th>Aktuelle Test Version</th>
<th>0.2.0</th>
</tr>
</thead>
<tbody>
<tr>
<td>Veröffentlichungsdatum</td>
<td>10.08.2026</td>
</tr>
<tr>
<td>Github Link</td>
<td><a href="https://github.com/AlanSRU/ioBroker.omoda" rel="nofollow ugc">https://github.com/AlanSRU/ioBroker.omoda</a></td>
</tr>
</tbody>
</table>
<p dir="auto">Hallo zusammen,</p>
<p dir="auto">ich habe einen Adapter für Omoda / Jaecoo (Chery) Fahrzeuge geschrieben und würde mich über Tester freuen. Der Adapter ist seit kurzem im latest-Repository, Version 0.2.0.</p>
<p dir="auto">(Entschuldigt bitte mein Deutsch — die englische Fassung steht unten. Antworten auf Englisch sind für mich einfacher, Deutsch geht aber auch.)</p>
<p dir="auto">GitHub: <a href="https://github.com/AlanSRU/ioBroker.omoda" rel="nofollow ugc">https://github.com/AlanSRU/ioBroker.omoda</a><br />
npm: <a href="https://www.npmjs.com/package/iobroker.omoda" rel="nofollow ugc">https://www.npmjs.com/package/iobroker.omoda</a></p>
<p dir="auto">Was der Adapter macht<br />
Er verbindet sich mit demselben Cloud-Backend wie die offizielle Omoda-/Jaecoo-App (REST + MQTT-Telemetrie über mTLS) und legt pro Fahrzeug ein Gerät omoda.0.&lt;VIN&gt; an:</p>
<p dir="auto">info – Name, Modell, Marke, Power-Typ, online (MQTT), letztes Update, Session-Status<br />
location – Breite, Länge, Geschwindigkeit, Kurs, Zeitstempel<br />
battery / charging – Ladestand, elektrische Reichweite, Gesamtreichweite, Ladezustand, Ladeleistung, Stecker eingesteckt, Restladezeit<br />
doors / windows – 4 Türen, Kofferraum, Motorhaube, Verriegelung, 4 Fenster, Schiebedach<br />
climate / status / tyres – Klima läuft, Min/Max-Temperatur, Motor an, Kilometerstand, Reifendruck und -temperatur (4x)<br />
commands – Ver-/Entriegeln, Klima ein/aus mit Zieltemperatur, GPS-Position anfordern, „Wecken &amp; Vollstatus abrufen", plus commands.result mit der letzten Rückmeldung des Autos<br />
Weitere Funktionen der App (Sitzheizung/-belüftung, Defroster, Laden starten/stoppen und Ladeplanung, Fenster/Schiebedach/Kofferraum, Diebstahlalarm) sind für eine spätere Version geplant.</p>
<p dir="auto">Voraussetzungen<br />
Node.js &gt;= 22, js-controller &gt;= 6.0.11, Admin &gt;= 7.6.20<br />
Ein Omoda-/Jaecoo-Konto, dem das Fahrzeug zugeordnet ist (Besitzer oder freigegebener Zugriff)<br />
E-Mail-Adresse und Kommando-PIN des Kontos<br />
Installation &amp; Einrichtung<br />
Adapter aus dem latest-Repo installieren (oder per Custom-URL: iobroker url iobroker.omoda) und eine Instanz anlegen.<br />
Reiter Konto: E-Mail und Kommando-PIN eintragen, speichern.<br />
Reiter Login (OTP): OTP-Code anfordern — der Einmalcode kommt per E-Mail.<br />
Code eintragen und OTP bestätigen. Der Adapter meldet sich an, findet die Fahrzeuge und legt die Objekte an.<br />
Ein neuer OTP ist nur nötig, wenn die Session später abläuft (meistens weil die offizielle App geöffnet wurde) — sonst wird sie automatisch erneuert.</p>
<p dir="auto">Tipp: Am besten ein zweites, freigegebenes Konto für den Adapter verwenden. Wenn ihr hier und in der App dasselbe Konto benutzt, werfen sich beide gegenseitig immer wieder raus.</p>
<p dir="auto">Region: Standard ist Europa. Die Dept ID muss die Telefonvorwahl eures Kontolandes sein (UK = 44, IT = 39, ES = 34, NL = 31, DE = 49 …). Unter Region &amp; Polling lassen sich Hosts, Poll-Intervall und Wake-Cooldown anpassen.</p>
<p dir="auto">Bitte vorher lesen<br />
⚠️ Inoffizielle, reverse-engineerte Software. Keine Verbindung zu Omoda, Jaecoo oder Chery. Benutzung auf eigene Gefahr und nur am eigenen Fahrzeug.<br />
Die PIN ist eure Konto-PIN. Mehrfach falsch eingegeben kann das Konto sperren, deshalb stoppt der Adapter nach wenigen Fehlversuchen — dann bitte die PIN in den Einstellungen prüfen, bevor ihr weitermacht.<br />
commands.lock folgt der ioBroker-Spezifikation switch.lock: true = ENTRIEGELN, false = verriegeln. Das ist bewusst so (Alexa/Google via ioBroker.iot, VIS-Widgets und der Type-Detector erwarten diese Polarität) — bitte nicht mit der App-Logik verwechseln.<br />
Im Standby liefert das Auto viele Werte als null; Batterie, Geschwindigkeit und Kilometerstand aktualisieren sich beim Fahren oder Laden oder nach Vollstatus abrufen (weckt das Auto kurz). Das Wecken ist backend-seitig limitiert, deshalb erzwingt der Adapter einen Cooldown.<br />
Die MQTT-Telemetrie nutzt mutual TLS mit den Zertifikaten, die die Upstream-HA-Integration extrahiert hat. Falls Chery die rotiert, muss eine neue Adapter-Version raus.<br />
Worüber ich mich beim Feedback besonders freue<br />
Fahrzeug + Land + Dept ID, mit denen es funktioniert (oder nicht) — z. B. „Omoda 5 EV, Deutschland, deptId 49". Getestet ist bisher hauptsächlich UK.<br />
Welche Werte bleiben leer? Nicht jedes Modell meldet alles (Reifen, Schiebedach, Ladeleistung). Ein Screenshot des Objektbaums hilft.<br />
info.powerType — Chery veröffentlicht die Codetabelle nicht. Bestätigt ist nur 0 = BEV und 1 = mit Verbrennungsmotor (OMODA 9 SHS). Wenn ihr einen anderen Wert seht, sagt mir bitte welches Modell.<br />
Kommandos: funktionieren Verriegeln/Entriegeln und Klima, und was steht danach in commands.result?<br />
Login-Probleme: Bei „contact customer service" ist es meistens entweder eine falsche Dept ID oder ein Konto ohne zugeordnetes Fahrzeug.<br />
Bei Fehlern bitte das Log auf Debug stellen und den relevanten Ausschnitt posten. VIN und MQTT-User-ID werden im Log maskiert, aber schaut trotzdem kurz drüber, bevor ihr etwas öffentlich postet. Issues gerne auch direkt auf GitHub: <a href="https://github.com/AlanSRU/ioBroker.omoda/issues" rel="nofollow ugc">https://github.com/AlanSRU/ioBroker.omoda/issues</a></p>
<p dir="auto">Credits<br />
Der Adapter ist eine Portierung der hervorragenden Reverse-Engineering-Arbeit aus der Home-Assistant-Integration omoda-jaecoo-ha von Caslinovich und JackRonan (MIT). Protokollkonstanten, Signaturberechnung, MQTT-Credential-Ableitung und die Endpoints stammen von ihnen — ohne dieses Projekt gäbe es den Adapter nicht. Schaut dort vorbei und gebt einen Stern. Alle Fehler in dieser ioBroker-Portierung sind meine, nicht ihre.</p>
<p dir="auto">Danke fürs Testen!<br />
Alan</p>
<p dir="auto">English version<br />
Hi all,</p>
<p dir="auto">I've written an adapter for Omoda / Jaecoo (Chery) vehicles and I'm looking for testers. It's now in the latest repository, version 0.2.0.</p>
<p dir="auto">GitHub: <a href="https://github.com/AlanSRU/ioBroker.omoda" rel="nofollow ugc">https://github.com/AlanSRU/ioBroker.omoda</a><br />
npm: <a href="https://www.npmjs.com/package/iobroker.omoda" rel="nofollow ugc">https://www.npmjs.com/package/iobroker.omoda</a></p>
<p dir="auto">What it does<br />
It talks to the same cloud backend as the official Omoda / Jaecoo app (REST plus MQTT telemetry over mutual TLS) and creates one device per vehicle at omoda.0.&lt;VIN&gt;:</p>
<p dir="auto">info – name, model, brand, power type, online (MQTT), last update, session status<br />
location – latitude, longitude, speed, heading, position timestamp<br />
battery / charging – state of charge, electric range, total range, charge state, charging power, plug connected, remaining charge time<br />
doors / windows – 4 doors, trunk, hood, locked, 4 windows, sunroof<br />
climate / status / tyres – climate running, min/max temperature, engine on, odometer, tyre pressure and temperature (4x)<br />
commands – lock/unlock, climate on/off with target temperature, request GPS location, "wake &amp; refresh full status", plus commands.result carrying the car's last reply<br />
Further app functions (seat heating/ventilation, defrosters, EV charge start/stop and scheduled charging, windows/sunroof/trunk, theft alarm) are planned for a later version.</p>
<p dir="auto">Requirements<br />
Node.js &gt;= 22, js-controller &gt;= 6.0.11, admin &gt;= 7.6.20<br />
An Omoda / Jaecoo account with the vehicle associated (owner or delegated access)<br />
The account email and command PIN<br />
Install &amp; setup<br />
Install the adapter from the latest repo (or via custom URL: iobroker url iobroker.omoda) and create an instance.<br />
Account tab: enter email and command PIN, save.<br />
Login (OTP) tab: press Request OTP code — a one-time code is emailed to you.<br />
Enter it and press Confirm OTP. The adapter logs in, discovers your vehicles and creates the objects.<br />
A new OTP is only needed if the session later expires (usually because the official app was opened); otherwise it refreshes automatically.</p>
<p dir="auto">Tip: use a delegated second account for the adapter. Using the same account here and in the app makes the two repeatedly log each other out.</p>
<p dir="auto">Region: defaults to Europe. The Dept ID must be your account country's dialing code (UK 44, IT 39, ES 34, NL 31, DE 49 …). Hosts, poll interval and wake cooldown are under Region &amp; polling.</p>
<p dir="auto">Please read first<br />
⚠️ Unofficial, reverse-engineered software. Not affiliated with Omoda, Jaecoo or Chery. Use at your own risk and only on your own vehicle.<br />
The PIN is your account PIN. Entering it wrong repeatedly can lock the account, so the adapter stops after a couple of failed attempts — re-check the PIN before retrying.<br />
commands.lock follows the ioBroker switch.lock spec: true = UNLOCK, false = lock. That's deliberate (Alexa/Google via ioBroker.iot, VIS lock widgets and the type detector all assume this polarity) — don't confuse it with the app's logic.<br />
Many values read null while the car is in standby; battery, speed and odometer update while driving or charging, or after Refresh full status (which briefly wakes the car). Waking is rate-limited by the backend, so the adapter enforces a cooldown.<br />
MQTT telemetry uses mutual TLS with the certificates recovered by the upstream HA integration. If Chery rotates them, a new adapter release will be needed.<br />
What feedback is most useful<br />
Vehicle + country + Dept ID that work (or don't) — e.g. "Omoda 5 EV, Germany, deptId 49". Testing so far has been mostly UK.<br />
Which values stay empty? Not every model reports everything (tyres, sunroof, charging power). A screenshot of the object tree helps.<br />
info.powerType — Chery doesn't publish the code table. Only 0 = BEV and 1 = has a combustion engine (OMODA 9 SHS) are confirmed. If you see another value, tell me which model.<br />
Commands: do lock/unlock and climate work, and what appears in commands.result afterwards?<br />
Login trouble: a "contact customer service" error is usually either a wrong Dept ID or an account with no vehicle attached.<br />
For errors please set the log level to debug and post the relevant part. The VIN and MQTT user id are masked in the log, but do give it a glance before posting publicly. GitHub issues welcome too: <a href="https://github.com/AlanSRU/ioBroker.omoda/issues" rel="nofollow ugc">https://github.com/AlanSRU/ioBroker.omoda/issues</a></p>
<p dir="auto">Credits<br />
This adapter is a port of the excellent reverse-engineering work in the Home Assistant integration omoda-jaecoo-ha by Caslinovich and JackRonan (MIT). The protocol constants, request signing, MQTT credential derivation and endpoint recipes are theirs — this adapter wouldn't exist without them. Please go star and support the upstream project. All bugs in this ioBroker port are mine, not theirs.</p>
<p dir="auto">Thanks for testing!<br />
Alan</p>
]]></description><link>https://forum.iobroker.net/topic/85182/test-omoda-jaecoo-adapter-omoda-v0.2.0</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 08:01:00 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/85182.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 17 Aug 2026 03:43:11 GMT</pubDate><ttl>60</ttl></channel></rss>