Rointe WIFI enabled electric radiators

Thanks mate, working now. Do you know if you can control a group of them at the same time. Like in the app, you have two heaters under living room and can control both at the same time?

Well, not at this point. I’m treating them individually as adding zone would greately complicate the integration. You could possible create a scene to set multiple pre-defined values.

You could also check this integration: Group - Home Assistant

1 Like

I’ve updated HACS with a new version (1.0.8). Changes include:

  • Better support for setting presets (in manual mode)
  • Better handling of HVAC modes
  • Some experimental energy and power entities.

Please note the following:

  • When changing something in home assistant I send an update to the radiator and immediately update the interface with what the radiator’s state should be. After a few seconds the integration will update from the official API. This might cause the UI to change suddenly.
  • Setting HVAC Modes and Presets is complicated. The approach I took was: Setting a preset will force the radiator to manual mode. Setting the temperature will also force manual mode. I try to find if the chosen temperature corresponds to a particular preset and set it. Still, you might find cases when the integration fails to properly set the radiator.
  • The integration now requires an external python module (rointe-sdk). This should install automatically.
  • The radiators only output energy and power values for the last hour. Your charts will be constant throught each hour. I’m still working on how to properly display these values in HA
  • There is no timezone support so if you’re outside GMT you might see discrepancies.

I’m relatively new to HA, but I have a working installation of HA Core and HACS, and have installed custom components using it so it should be working ok. But when I try to install this rointe repository it is not found in

HACS > Explore & Download Repositories > Add Repository - Search “roin” => “No repositories found matching your filter”

How do I find the repository with HACS?

@beos

You need to manually add the repository URL to HACS.

Repo URL: GitHub - tggm/rointe-hacs: A HACS repo for the Home Assistant Rointe Integration

Follow these instructions.

1 Like

@tggm Thanks that did it. Works really nice now.

1 Like

Does anyone know if this integration supports the Belize range of wifi radiators from Rointe as well?

They seem a touch cheaper than the D-Series but same specs?

Maybe. Does it work with https://www.rointeconnect.com/ ?

My integration uses APIs hosted on google’s Firebase that were identified by using Rointeconnect. You could try to login there and check if your radiators show up. If not there might a similar web version for the Belize range.

As a last resort, we could try identify which Firebase API’s it calls and create a similar integration.

I strongly suspect that the API’s are very similar.

1 Like

I think api are very similar.
I sent an issue request on github.

Please let me know if I can help in any way with the integration.

I have an Olympia radiator which use rointe lite

Hello, I have installed the integration in HA Os version 2022.09.1, without problems, but I do not see entities or devices associated with this integration. S.O.S
Thank you

Hi @row,

Do you see your devices when logging in via https://www.rointeconnect.com ?

Which particular Rointe devices do you own ?

Hi, I am also interested in integrating the Belize range. The Rointe Lite app does not have a web version.

What I’ve been able to find so far, by getting a PCAP dump from an Android phone running the app, is that Rointe Lite uses the same endpoint as Rointe Connect (elife-prod.firebaseio.com).
The two differences I’ve been able to identify are the API key and the fact that the installation path is installations3 rather than installations2.

Hey @c42.

In order to support those devices we need to find endpoints.

First we need an auth token and for that we need to know the app key. I got that from the web version of the app at rointeconnect.com. Try using AIzaSyBi1DFJlBr9Cezf2BwfaT-PRPYmi3X3pdA

Then call https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=AIzaSyBi1DFJlBr9Cezf2BwfaT-PRPYmi3X3pdA with POST and send a json payload containing:

{
	"email": "YOUR EMAIL",
	"password": "YOUR PASSWORD",
	"returnSecureToken": true
}

You might need a different APP Key. Try the one above, if it fails you’ll probably need to extract the strings from the APK and go by trial and error with anything that resembles that key above.

You should get an idToken and a localId on the response. You will use the idToken and send it to other endpoints as a query parameter. Something like ?auth={idToken}.

Now, there are few endpoints we’ll need:

  1. Your installation details.
    For this try calling https://elife-prod.firebaseio.com/installations3.json?orderBy="userId"&equalTo="{localId}&auth={idToken}".

If you get a response you’re on the right track :slight_smile:

  1. Devices data.
    On the installations3 response look for a piece of json like:
zones: {
   "-XXXXXXXXX": {
       "devices": {
            "DEVICE_ID": true

If you got a device ID you can then call:

https://elife-prod.firebaseio.com/devices/{DEVICE_ID}.json?auth={id_token}

Which should give you all the device’s data.

Finally, you can attempt PUT requests to change parameters (on the same URL above). Example payload to set the power, mode and temperature:

{
	"power": true,
	"mode": "manual",
	"temp": 49
}

Let me know if you manage to list and operate your devices via the API. If you have endpoints then we can add them to the integration.

Also, PM me your discord user name so that we can talk there.

Hey, thanks for this, it’s very helpful!

Calling

https://elife-prod.firebaseio.com/installations3.json?orderBy="userId"&equalTo="{localId}&auth={idToken}

with my localID and my idToken (I tried getting these both with the API key that you have and with the API key I got from my PCAP yesterday), and either way I get

"error": "Constraint index field must be a JSON primitive"

so I haven’t been able to list the devices, but I do have a device ID I captured yesterday as well, so I was able to list all the attributes of a single device by calling

https://elife-prod.firebaseio.com/devices/{DEVICE_ID}.json?auth={id_token}

This worked fine.

However when I try a PUT requests to the same device I get “permission denied”.

I’ll look into it more now and I’ll update if I manage to understand why it’s failing but in the meantime if you have any advice it’d be greatly appreciated!

My mistake. You need to have your localId in double quotes. Try:

/installations2.json?orderBy="userid"&equalTo="{localId}"&auth={idToken}

Again, my mistake :slight_smile:

The correct URL for changes is:

https://elife-prod.firebaseio.com/devices/{DEVICE_ID}/data.json

Note that /data at the end.

These objects can be navigated via the URL. So, the /devices/{DEVICE_ID}.json endpoint returns:

{
	"data": {
		"adelanto_enable": false,
		"backlight": 0,
		"backlight_on": 1,
		"block_local": false,
		"block_remote": false,
		"check_updates_now": false,
		"check_updates_

Whereas calling /devices/{DEVICE_ID}/data.json endpoint returns:

{
	"adelanto_enable": false,
	"backlight": 0,
	"backlight_on": 1,
	"block_local": false,
	"block_remote": false,
	"check_updates_now": false,

We went down a level. Try calling PUT on at that level. You should be able to change most variables.

How are you capturing your requests? Can you intercept any call between the app and the firebase endpoints?

Hey thanks for this! I was able to list the devices with

/installations3.json?orderBy="userid"&equalTo="{localId}"&auth={idToken}

I missed that userid had to be all lowercase :slight_smile:

And I was also able to successfully change mode and temperature by calling a PATCH instead of a PUT.

I’ll get back to it tomorrow but it looks like we’re getting there :star_struck:

Good :grimacing:

Get yourself on discord, me a and a couple of friends have a small therapy group there to discuss this more easily.

Hello, what is the current state of Rointe radiator support? The HACS repository’s last commit is from January, is it usable?

Edit: Update, I have installed the app, and gotten Home Assistant to login to Rointe Connect via the above integration, but it only worked when i selected “master” as a latest version. (@tggm it seems you forgot to tag the latest version)

Can anyone confirm that the D-Series work with this integration?

I have the d-series working. I’ll take a look at the tag issue.

1 Like

Funciona la integracion en HA???. Yo la tengo instalada, pero nunca me detecto dispositivos de la cuenta. Y ahora la integracion a desaparecido de HACS. Hay solucion o directamente la borro y me olvido?