Floor heat Thermostat

I manged to get my Flourean thermostat communicating with MQTT.

These are my notes when I instated it hope it helps someone.
Install Ubuntu on vmware workstation

install python2.7 sudo apt-get install python2.7
install setuptools sudo apt-get install python-setuptools
install git sudo apt-get install git-core

cd /usr/local/lib/python2.7/
sudo mkdir broadlink

cd /usr/local/lib/python2.7/broadlink
sudo git clone git://github.com/ptd006/python-broadlink
cd /usr/local/lib/python2.7/broadlink/python-broadlink
sudo python2.7 setup.py install
cd …
sudo git clone git://github.com/ralphm2004/broadlink-thermostat
sudo easy_install pip
sudo pip install paho-mqtt

cd /usr/local/lib/python2.7/broadlink/python-broadlink
sudo python2.7 setup.py install ( this seemed to fail but I cattied on anyway)

cd /usr/local/lib/python2.7/broadlink/broadlink-thermostat

sudo nano broadlink-thermostat.conf (change details for your MQTT server)

sudo python2.7 /usr/local/lib/python2.7/broadlink/broadlink-thermostat/broadlink-thermostat.py

Would not start so ran sudo pip install broadlink

sudo python2.7 /usr/local/lib/python2.7/broadlink/broadlink-thermostat/broadlink-thermostat.py

broadlink discover
found: cf407XXea34
PID child 887
Hysen heating controller
set time 5:29:38 5
cf40703XXa34 room_temp 21.0

Hi sorry for my english.

I try to connect with my BEOK BOT-313W in hassbian (hassbian have venv python) i exec this code:

sudo systemctl stop [email protected]
sudo su -s /bin/bash homeassistant
source /srv/homeassistant/bin/activate
mkdir repos
cd repos
git clone https://github.com/ptd006/python-broadlink.git
python setup.py install
git clone https://github.com/ralphm2004/broadlink-thermostat.git
–Install mosquito
sudo hassbian-config install mosquitto
sudo systemctl start mosquitto.service
–Update apt-get
sudo apt-get update
–Install PIP
sudo apt-get install python-pip
pip install paho-mqtt
edit broadlink-thermostat.conf with mosquito access data
pip install broadlink
python2.7 broadlink-thermostat.py
i receive “broadlink discover” and nothing more
What can i do


Now i solved my problem.

In the configuration of my BEOK BOT-313W there are one option “Sensor mode setting” and when i click in “Out-s control” or “in-s and out-s control” i solved my problem and receive ip and temperature of the room.


I change configuration.yaml with this value:

Work fine!

platform: mqtt
name: Calefaccion
- ‘0’
- ‘1’
current_temperature_topic: /broadlink/43df7534ea34/room_temp
#target_temp_step: 0.5
temperature_command_topic: /broadlink/43df7534ea34/cmd/set_temp
temperature_state_topic: /broadlink/43df7534ea34/thermostat_temp
mode_command_topic: /broadlink/43df7534ea34/cmd/set_mode
mode_state_topic: /broadlink/43df7534ea34/auto_mode
power_command_topic: /broadlink/43df7534ea34/cmd/set_power
power_state_topic: /broadlink/43df7534ea34/power
payload_on: ‘1’
payload_off: ‘0’

I am trying to use script to set a schedule problem is it wont accept the payload.
whats the best way to get round this, it seems to stop on the"quotes"

alias: Weekend
service: mqtt.publish
topic: “/broadlink/cf4070xxxx34/cmd/set_schedule”
payload: “’[[{“start_hour”: 6, “temp”: 22.5, “start_minute”: 0}, {“start_hour”: 6, “temp”: 15.0, “start_minute”: 55}, {“start_hour”: 11, “temp”: 15.0, “start_minute”: 30}, {“start_hour”: 17, “temp”: 22.0, “start_minute”: 30}, {“start_hour”: 20, “temp”: 23.0, “start_minute”: 0}, {“start_hour”: 23, “temp”: 15.0, “start_minute”: 10}], [{“start_hour”: 8, “temp”: 22.0, “start_minute”: 0}, {“start_hour”: 23, “temp”: 15.0, “start_minute”: 0}]]’”

sorted it , needed to use data_template and payload_template

alias: WeekDay
service: mqtt.publish
topic: “/broadlink/cf4070xxxx34/cmd/set_schedule”
payload_template: ‘[[{“start_hour”: 6, “temp”: 22.5, “start_minute”: 0}, {“start_hour”: 6, “temp”: 15.0, “start_minute”: 55}, {“start_hour”: 11, “temp”: 15.0, “start_minute”: 30}, {“start_hour”: 18, “temp”: 22.0, “start_minute”: 30}, {“start_hour”: 20, “temp”: 23.0, “start_minute”: 0}, {“start_hour”: 23, “temp”: 15.0, “start_minute”: 10}], [{“start_hour”: 8, “temp”: 22.0, “start_minute”: 0}, {“start_hour”: 23, “temp”: 15.0, “start_minute”: 0}]]’

when the thermostat is heating and you see the 3 vertical waves icon on your thermostat indicating it is heating, this is the mode, either 0 or 1, I presume, but this state is not send to home assistant, does this work for you?

if so how did you make this work?

I only always see a 0 before the temperature in hass, the 0 never changes, even when the thermostat is heating.

The mode 0 indicate manual mode and 1 indicate auto mode, used in this commands :
mode_command_topic: /broadlink/43df7534ea34/cmd/set_mode
mode_state_topic: /broadlink/43df7534ea34/auto_mode

The 3 vertical waves icon i presume “on” when room_temp is less than set_temp, in history graph you can see it.

But I think no exits any state for 3 vertical waves

You can look all states in https://github.com/ralphm2004/broadlink-thermostat

/broadlink/xxxxxx34ea34/dayofweek 1
/broadlink/xxxxxx34ea34/remote_lock 0
/broadlink/xxxxxx34ea34/osv 42
/broadlink/xxxxxx34ea34/sec 36
/broadlink/xxxxxx34ea34/external_temp 0.0
/broadlink/xxxxxx34ea34/fre 0
/broadlink/xxxxxx34ea34/min 56
/broadlink/xxxxxx34ea34/unknown 0
/broadlink/xxxxxx34ea34/sensor 0
/broadlink/xxxxxx34ea34/loop_mode 1
/broadlink/xxxxxx34ea34/room_temp 14.5
/broadlink/xxxxxx34ea34/power 1
/broadlink/xxxxxx34ea34/thermostat_temp 5.0
/broadlink/xxxxxx34ea34/temp_manual 0
/broadlink/xxxxxx34ea34/room_temp_adj 0.0
/broadlink/xxxxxx34ea34/active 0
/broadlink/xxxxxx34ea34/poweron 0
/broadlink/xxxxxx34ea34/auto_mode 0
/broadlink/xxxxxx34ea34/svl 5
/broadlink/xxxxxx34ea34/hour 22
/broadlink/xxxxxx34ea34/svh 35
/broadlink/xxxxxx34ea34/dif 2

1 Like

thanks for this usefull info…

I think the:
/broadlink/xxxxxx34ea34/active 0

is the state if it is heating or not…
but I don’t see how to get that state in relation to the climate mqtt component in hass?

does anyone know how to get this state with mqtt?

Duh, if you change:

mode_command_topic: /broadlink/xxxxxx34ea34/set_mode



in your climate.yaml you will get the state if the thermostat is heating or not, now you can send messages whenever the thermostat is heating, exactly like I wanted :smiley:

now it must also be possible somehow to display a flame icon or not in front of the temperature on the hass frontend whenever the thermostat is heating… because the 0 changes to 1 when the thermostat is heating.

1 Like

I think you can use a sensor tag, something like this:

platform: mqtt
name: calefaccion_activa
state_topic: ‘/broadlink/43df7534ea34/active’
payload_available: ‘1’
payload_not_available: ‘0’

You can do automations to the sensor states and you can see history of the sensor.

I use too, two switch for power and auto/manual mode:


  • platform: mqtt
    name: Calefaccion Auto
    command_topic: /broadlink/43df7534ea34/cmd/set_mode
    state_topic: /broadlink/43df7534ea34/auto_mode
    payload_on: ‘1’
    payload_off: ‘0’

  • platform: mqtt
    name: Calefaccion
    command_topic: /broadlink/43df7534ea34/cmd/set_power
    state_topic: /broadlink/43df7534ea34/power
    payload_on: ‘1’
    payload_off: ‘0’

And the climate tag like this:

platform: mqtt
name: Temperatura
- ‘0’
- ‘1’
current_temperature_topic: /broadlink/43df7534ea34/room_temp
target_temp_step: 0.5
temperature_command_topic: /broadlink/43df7534ea34/cmd/set_temp
temperature_state_topic: /broadlink/43df7534ea34/thermostat_temp
mode_command_topic: /broadlink/43df7534ea34/cmd/set_mode
mode_state_topic: /broadlink/43df7534ea34/auto_mode
power_command_topic: /broadlink/43df7534ea34/cmd/set_power
power_state_topic: /broadlink/43df7534ea34/power
payload_on: ‘1’
payload_off: ‘0’


Hi there, could anybody just write me step by step guide how to connect and set my thermostat with home assistant? I completely noob in this, just bought Raspberry Pi 3 yesterday, flash it and now I can access configutation.yaml from windows 10, but thats all. I tried add MQTT component, but I dont know how to set it up. My wifi thermostat (BEOK TDS21-EP) is working well with default mobile APP. I can see its MAC adress and IP adress from my router…

I would like to achive automatiation something like turn off the thermostat when I leave home.

So I’ve wrote a beta custom_component for Hassio to drive these thermostats

Im looking for a thermostat ** using DRY CONTACT 220v, position NORMALLY OPEN (

TODAY I have this simple one - see at the end model 54183

I would like to replace with one like the one discussed above
See at the end of the pagem model GA with N wire in sockets 2 AND 3.

ANY EPERIENCE uin using these models “GA” with N wire on sockets 2 AND 3 ?


@Sorin_Paun I tried Ine of these. I never got to change the IP adress / assign IP from dhcp and thus abandonded testing with the script.

Is there a list of compatible thermostats somewhere?

Aliexpress and eBay are full of wifi thermostats and it is rather difficult to figure out which one to buy.

Now I use this component, work fine for my beok 313:

for your information


i use this broadlink.py in custom_components folder

Hi, i too would like to get my Beok 313 working,
from what you say about Wifi thermostat (Beok, Floureon, Beca Energy) component
i assume we have to follow this to get our API key sniffed from the device if it’s not on a label on the side of it?

I’m searching for a wifi floor heating thermostat replacing our old but I do not want to change the sensor. I suspect it is stuck in the floor. Our current sensor is 100kohm at 25 degree C and I think standard is 10kohm today for most sensors. However I have seen that some thermostats can be adjusted for different sensors.
Do you know of any (cheap) wifi thermostat with support for 100kohm sensor that can be controlled by Home Assistant?

1 Like