Wifi thermostat (Beok, Floureon, Beca Energy) component

Has anyone found a solution for this

Hi all,

First let me say that clementTal did a very good job with his custom component for these chinese thermostats. I’m using it with a BEOK TOL-313 for electric heating and it’s running pretty well.

My question is: Does anyone know how to dynamically change the schedules config of the thermostat (week and week end periods), for example using the climate.set_schedule service? There is no identity argument witth this service, and I cannot figure out what could be the JSON data format do to it.

Any idea?
Thanks

Although this code is awesome, I don’t think it works with all Broadlink thermostats

So after a long wait for the parcel from China, I could finally test this yesterday.
I was ready for a while : custom_component installed, configuration prepared, just like I do with the Broadlink components (I love the SC1 switches).

So yes it works with the component, and it seems that it will work with my boiler (Wiessman that has over 15 years), as it’s actually a dry contact closed when it goes in heating mode. Too bad Broadlink doesn’t sell a SC1 version with this dry contact.

As I don’t need the logic in the thermostat but I want to control the beginning and the end of the heating from HA only, I still have to understand how to tweak the climate control to turn it dumb !

the component doesn’t seem to react to the turn_on and turn_off services, so I used the set_temperature service that contains also the operation_mode option.
Right now, I came up with this logic that seems to work :

- alias: 'Heating Start'
  trigger: 
     <many !>
  condition:
      <about the same !>
  action:
    - service: climate.set_temperature
      data:
        entity_id: climate.thermostat
        operation_mode: 'heat'
        temperature: 25
- alias: 'Stop Heating'
  trigger:
   ...
  condition:
  ...
  action:
    - service: climate.set_operation_mode
      data:
        entity_id: climate.thermostat
        operation_mode: 'off'

For the Beok 313 - In addition to this tip, I got rid of the all the component errors and finally got the Climate control to appear on the front end by deleting the folder “–pycache–” that gets generated in the custom component/climate folder.
And, also NOT using the the advanced part of the broadlink platform in the config. :slight_smile:

Nice! :+1:

This is also handy for anyone using Alexa - Simple script to enable Amazon Echo / Alexa to set the temperature on a climate / thermostat device via the emulated hue component

Hi guys,

Thanks for writing this up. I was wondering if you had any other documentation lying around regarding how the HEX actually needs to be composed? I’d like to try and write something else in another language and this would be extremely useful.

Many thanks

,
HI, i dont know why dont work for me.

Sometimes, the thermostat goes into ‘unavailable’ and you can see this. Looks like it doesn’t like heavy WiFi traffic. It happened several times at home, only when Zoneminder was in detection mode, so it pulls images from cameras as fast as possible, leaving few bandwidth for other devices.
Do you ever have a connection working ?

After some tests, I found that the “set_temperature” service, even if it has an “operation_mode” parameter, doesn’t always change the operation mode ! Can’t figure out why.
Anyway, the “turn on” action is now one set temperature (very high) and a set_operation_mode “heat”.
And the “turn off”, set temperature (very low) and set_operation_mode “off”.

I do so to ensure the thermostat by itself won’t start or stop heating if HA didn’t call for.

A mi me pasa lo mismo, Âżlo solucionaste?The same thing happens to me, did you solve it?


thanks to this webpage, make one with voice control alexa.
input_boolean:
calefaccion:
name: calefaccion
initial: off

- alias: "calefaccion_on"
initial_state: true
trigger:
platform: state
entity_id: input_boolean.calefaccion
to: 'on'
action:
- service: mqtt.publish ####ESTE SERIA EL CASO DEL SONOFF RF BRIDGE
data_template
topic: 'cmnd/sonoff/RfCode'
payload: '#555503#' ##CÓDIGO DEL PULSADOR A (CERRAR RELE NO/COM)
- service: script.turn_on ##### ESTE SERIA EL CASO DEL BROADLINK RMPRO
entity_id: script.calefaccionon

- alias: "calefaccion_off"
initial_state: true
trigger:
platform: state
entity_id: input_boolean.calefaccion
to: 'off'
action:
- service: mqtt.publish ####ESTE SERIA EL CASO DEL SONOFF RF BRIDGE
data_template:
topic: 'cmnd/sonoff/RfCode'
payload: '#555503#' ##CÓDIGO DEL PULSADOR B (ABRIR RELE NO/COM) ``
- service: script.turn_on ##### ESTE SERIA EL CASO DEL BROADLINK RMPRO
entity_id: script.calefaccionoff

Did you manage to make it work? it happens to me the same

No
 the issue is still remaining
 i cannot get the readings on my home assistant

So i set this up with a no name ebay item, and got the following error.

2018-11-09 22:07:05 WARNING (MainThread) [homeassistant.loader] You are using a custom component for climate.broadlink which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2018-11-09 22:07:12 ERROR (MainThread) [homeassistant.components.climate] Error while setting up platform broadlink
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/homeassistant/helpers/entity_platform.py", line 128, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
    return fut.result()
  File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/james/.homeassistant/custom_components/climate/broadlink.py", line 144, in setup_platform
    STATE_AUTO
  File "/home/james/.homeassistant/deps/lib/python3.6/site-packages/BroadlinkWifiThermostat/__init__.py", line 20, in __init__
    self.mac = bytes.fromhex(''.join(reversed(mac.split(':'))))
ValueError: non-hexadecimal number found in fromhex() arg at position 2

I had to remove the double speech marks and it worked fine.

- platform: broadlink
  name: Thermostat
  mac: xx:xx:xx:xx:xx
  host: xxx.xxx.xxx.xxx

Hi, is there a way to start this component, so that outside temp sensor is active with automatic profile? If I enter to the platform config " sensor_mode: “1” ". Component starts with outside sensor but in manual mode, and then if I switch from UI to automatic mode, the temp sensor is switched to inside sensor also.

I don’t have a model with outside temp sensor, so my answer may not be what you expect.
When I start HA, and the thermostat was working, HA will soon read its status (on/auto/heat). HA won’t set anything, unless an automation does fire, or you change something in the frontend.

So when Ha starts, if you want to force the thermostat to an operating mode, you’ll have to add an automation at startup, with the trigger :

  trigger:
    platform: homeassistant
    event: start

Hello
I’m wery new in the home assistant and I’m don’t know how to implement this thermostat. Can some one please write step by step instruction for this.
Thanks in advance

I hope I won’t forget anything


First step is to connect the thermostat to your network. Depending on your infrastructure, needs firewall configuration or not ? If so, you have to allow UDP/80 between the thermostat and your HA box.

You’ll need the Beok application on an android device, WiFi connected to the network you want to install the thermostat. Proceed as told by the app, and you should have the thermostat getting an IP address ?
Are you there ? If so, you should be able to control the thermostat from the app, and the app should reflect any modification made on the thermostat.
You should also see the mac address of the thermostat ? Note this, we’ll need it.

Now, throw away this app, forget about the thermostat, everything works in HA :

  • locate your custom_component folder. It’s in the install directory. Create a climate subfolder and put the broadlink.py file in it. Ensure that your homeassistant user has rights to all of this.
  • in the configuration.yaml, add those lines :
climate:
  - platform: broadlink
    name: Thermostat
    mac: "AA:BB:CC...."
    host: 192.168.X.X

See above for quotation marks if needed or not.

  • restart, you’ll see a climate.thermostat object in HA, you can add it to a group like any component
  • profit !

Thanks for the help
I did that but I only get 0˙C temperature and I cant do nothing.
I have the Floureon thermostat like this
https://www.ebay.com/itm/FLOUREON-WIFI-Thermostat-Touchscreen-Raum-Fusbodenheizung-Google-Programmierbar/173604113702?epid=12025789822&hash=item286b9c8d26:g:lCwAAOSwi5hbzw9g:rk:16:pf:0

Did I need to do something else