Electronic heating thermostat reverse engineering (Beok, Floureon, Decdeal)

Hi again,

One more thing I would like to add. The messages during the discovery tend to repeat, however recently I received the following:

broadlink discover
Reconnect
Connect, reason: 0
broadlink discover
Reconnect
Disconnect, reason: 1
Disconnect, reason: <paho.mqtt.client.Client object at 0x40908cf0>

Don’t know if this helps in any way to debug the problem.

John

//edit
Finally got the app working. For anyone interested in this device, the so-called English manual is a load of crap. Anyway, after the device was registered with the app everything went perfectly. My device can be discovered so now I can concentrate on the MQTT side of things. There is however something which is a little unusual during when the device is being discovered. This is what I get:

broadlink discover
found: 192.168.1.115 0a447034ea34
PID child 16816
Hysen heating controller
set time 19:32:52 5
Reconnect
Connect, reason: 0
0a447034ea34 room_temp 16.5
0a447034ea34 room_temp 16.5

I tried the discovery several times and I always get the Reconnect and Connect, reason: 0 as before, but then everything proceeds normally. From what I have seen from others with a successful discovery, those two lines don’t appear. Has anyone had anything similar? Why does it reconnect after finding the device? BTW, this reconnect always occurs at the very beginning and then sometimes reoccurs later (without Connect, reason: 0), but not frequently. Also the broadlink discover line sometimes reppear but after the room temperature is shown as before.

Hi John

I bought a hysen thermostat

https://de.aliexpress.com/item/2-pcsSmart-Hause-WiFi-Thermostat-f-r-Warme-Elektrische-Fu-bodenheizung-16A-Alexa-Voice-Control-Indoor/32906677789.html?spm=a2g0s.9042311.0.0.3da24c4dW4CTzb

But I can’t set the AP mode, i think that is necessary to do the discover? I followed all the instruction but never found devices.

broadlink discover
Reconnect
broadlink discover
Reconnect
broadlink discover
Reconnect

The English manual is very bad explained, and I try to contact technical support, but was impossible too.

Someone can help to put this in AP MODE?

Note: I have the thermostat working with the APP.

Thanks guys

Are you sure that you installed all required libraries?
pip install paho-mqtt
pip install broadlink
pip install json
pip install pytz

1 Like

Yes, all this dependencies are installed, I tried in a raspberry, in a Mac, always the same result, not found any device.
Maybe the problem is that my thermostat is not working as AP?

Thanks

Hi, could you write how you get AP working?

Great work! I used it with Floureon and it worked perfectly.

Tried with the T12-01 but unfortunately it didn’t work. It looks like there is no port open on the device itself so it’s probably subscribed to a service. From some packet sniffing it looks like it sends JSON to AWS but I haven’t been able to find out exactly what it or the App sends.

I could get it into AP mode by just letting it sit there for about a minute.
It would then provide a wireless AP THERM###

It’s this one Floureon Thermostat

This is what a registration messages looks like
{“version”:“3.1”,“Thing_Type”:"_THERMOSTAT",
“Thing_Name”:“th12-001-xx-xx-xx-xx-xx-xx”,
“Sub_Type”:“th12-001”,
“Region_Info”:“eu-central-1”,
“Identity_Id”:“eu-central-1:42ea5a21-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,
“Firmware_Version”:“3.1.1rel”,
“History_Device_Account”:“null”,
“Last_Thing_Name”:“th12-001-xx-xx-xx-xx-xx-xx”,
“Last_Region_Info”:“eu-central-1”,
“Last_APP_Info”:“WeBack”
}

I paired it with their app first, only then tried with python broadlink.

I’m using this one.

What app were you using to connect to it?
Mine uses the WeBack app.

Thanks for that. Unfortunately it looks like mine is using a different setup.

I hope you will find a way to configure it.
If you figure it out eventually please keep us updated.

Hi all. I have installed three of these, and they’re great so far, apart from the step setting being 1.5C.

This means that I set the temperature to 21C (Auto) but on switches when it gets to 19.5C. I think it also switches off when it gets to 22.5… I’d prefer a 0.5C step

Does anyone know if it’s possible to change this setting some how?

Thanks in advance!

Joel

Can you explain how you do it?

Hi @DennisVonDerBey
Can you provide more details?
I am trying to connect to this device

IWhen starting “python2.7 broadlink-thermostat.py” in Python 2.7, I am getting the following:

broadlink discover
Reconnect Disconnect, reason: 1
Disconnect, reason: <paho.mqtt.client.Client object at 0x00000000046BABE0>
broadlink discover
Reconnect Connect, reason: 5
Disconnect, reason: 5
Disconnect, reason: <paho.mqtt.client.Client object at 0x00000000046BABE0>
broadlink discover

By the way, I am able to ping the thermostat

@hakam
It tries to reconnect to your MQTT broker not your thermostat. Can you connect to the former manually?

@DennisVonDerBey
In the config file, I changed
mqtt_qos to 1 instead of 2 and it works…on Topic: /broadlink, i got

connect

and the “python2.7 broadlink-thermostat.py” logs the following:

broadlink discover
Reconnect
Connect, reason: 0
broadlink discover
Reconnect
broadlink discover
Reconnect
broadlink discover

What about the Thermostat? it should be first configured to my WLAN SSID and password using the App provided by Floureon Thermostat, right?

If anyone is interested, I followed thit post to produce this systemd file:

[Unit]
Description=Python bridge from Broadlink devices to MQTT
Documentation=https://github.com/ralphm2004/broadlink-thermostat
After=openhab2.service

[Service]
Type=simple
ExecStart=/opt/broadlink-thermostat/broadlink-thermostat.py
WorkingDirectory=/opt/broadlink-thermostat
Restart=always

[Install]
WantedBy=multi-user.target
1 Like

Hi all,
I have bought Floureon thermostat based on what is written in this thread.

I have tried python script to discover it but with no success. Device is connected to internet and works with WeBack app.

Python script found Broadlink IR blaster but not thermostat found.

Does anyone have any ideas how to get it woking?

If you look carefully on the thread you will see that this specific device indeed currently doesn’t work with this script.
It might work if someone will figure out the needed changes. but nobody has done it so far.