I’ve been using a Renault Zoe as my daily driver for a few years now, and there’s a feature that I particularly like: the ability to pre-heat or cool the cabin remotely.

My Renault Application Link to heading

Unfortunately, newer models no longer have a preconditioning button on their keycards. Airconditioning can be started from the My Renault app instead, which is inconvenient, to put it mildly.

The app plays a four-second Renault logo animation upon every time I open it, then it takes another 2s or 3s afterwards to load the main screen. This is before I could press the preconditioning button which I’ll have to follow-up with a confirmation in a popup dialog. After all that, I still need to keep the app open for an additional few seconds, otherwise the car just doesn’t receive the command to precondition.

And that’s when the app actually works. More often than not, I’m logged out or shown a Something went wrong error. Sometimes closing and reopening the app fixes the issue, sometimes I have to clear the app cache from the Android settings before I can log in again manually.

Precondition Without the App Link to heading

There are no official ways to start the preconditioning without the My Renault app. This is likely intentional, to increase the value proposition of it’s monthly subscription.

I’ve always wanted to reverse-engineer the CAN bus messages and install my own device to trigger preconditioning via CAN, but I never got around to do it. Renault has a security gateway blocking end-user access via the OBD port. It should be bypassable by splicing the CAN cables behind the dashboard, but it seems a bit too much work to get started with.

Luckily, I didn’t have to take my car apart, API for My Renault has already been reverse-engineered. As it turns out, the usability issues are features of the Android app itself — pun intended. The APIs behind are fairly reliable.

Despite the lack of official documentation, the PyZe and Renault-API projects have all the information I could wish for, including endpoint details and authentication flow.

The Automate Solution Link to heading

A quick-and-dirty way to get something application-like working on Android is Automate by LlamaLab.

Screenshot of Settings Tile

Screenshot of Settings Tile

I’ve put together a flow that displays my car’s charge level on a Quick Settings tile, and start precondition with a single tap — no animations, no waiting for data to load. As a bonus, a long press opens the official app bypassing it’s logo animation.

Renault Electric Settings Tile on Automate Community

The flow asks for My Renault credentials or retrieves them from a local text file, then walks through the authentication flow to obtain the necessary tokens, userid and VIN. Afterwards it stays in a loop to display the current charge level on a Quick Settings tile. There’s a bit of magic to decide how long to block the loop. It refreshes when the phone is awaken, every 5 minutes while it is in-use, or shortly after preconditioning has started. Notably, it does not do anything while the phone is in sleep. This avoids battery drain, but still gives an up-to-date charge level any time I look at it. If you want to know more, you can download the flowchart in PDF format as well.

Things to note:

  • Renault uses different API keys based on the country. While they seem interchangeable, the flow embeds the ones for Hungary. You may need to modify the gigyaProdApiKey variable (Block 13) to your country’s key based on this list
  • US users may need to change the server endpoints in the HTTP requests (Blocks 5, 14, 19, 28, 138, 128, 34).
  • If you have multiple subscriptions or contracts with Renault, you may need to tweak the account the flow uses for accountId (Block 23).

Costs Link to heading

I still plan to connect directly to the CAN bus someday, but for now, I have to pay for the “Remote Dashboard” subscription to keep API access working. The subscription costs 25,400 HUF for three years. I’m tempted to complain about it, but if I’d install my own device and SIM card, the cost of connectivity would be comparable.

I already have Automate Premium, it has a one-time cost of 1,290 HUF should you wish to purchase it.