Wifi thermostat (Beok, Floureon, Beca Energy) component

:thinking:
Can you send debug logs ?
(Select debug on config.yaml)

This is what the log shows.

2018-09-25 10:53:46 DEBUG (SyncWorker_12) [BroadlinkWifiThermostat] read_status

2018-09-25 10:53:56 WARNING (MainThread) [homeassistant.helpers.entity] Update of climate.master_bedroom is taking over 10 seconds

2018-09-25 10:53:56 ERROR (SyncWorker_12) [BroadlinkWifiThermostat] read_status timeout

2018-09-25 10:53:56 DEBUG (SyncWorker_5) [BroadlinkWifiThermostat] read_status

2018-09-25 10:54:06 WARNING (MainThread) [homeassistant.helpers.entity] Update of climate.main_hall is taking over 10 seconds

2018-09-25 10:54:06 ERROR (SyncWorker_5) [BroadlinkWifiThermostat] read_status timeout

The same here

2018-09-25 09:52:46 WARNING (MainThread) [homeassistant.components.climate] Setup of platform broadlink is taking over 10 seconds.
2018-09-25 09:52:46 ERROR (SyncWorker_2) [BroadlinkWifiThermostat] set_advanced_config timeout
2018-09-25 09:52:57 ERROR (SyncWorker_2) [BroadlinkWifiThermostat] set_schedule timeout
2018-09-25 09:53:07 ERROR (SyncWorker_39) [BroadlinkWifiThermostat] read_status timeout

Thermostat BHT-002-GBLW http://bit.ly/2zscERh
Beok application under ios working, firmware check returns
Connection Module: 2.2.6
Device Control Module: 1.0.0
Any idea?
Can soumeone post the working enviroment (hass.io/linux/python virtualenv …, versions etc.) so I can reproduce it here? I have linux server, windows/linux desktops, rpi3 and I really want to make it working :slight_smile:

I’ve checked the component in details, so basically it’s a broadlink switch that operates just like the MP1 or the SC1 ? It works on basic HTTP ports, no other need ?

I already have several Broadlink devices (I love the SC1 switches they work fine, integrate perfectly to HA and are inexpensive !).
Couldn’t buy the device before, I’m placing the order right now. I expect to test in 2 weeks now…

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.