Broadlink IR Climate Component

Just wondering how people are using their broadlink climate control with google home automation?

If my climate control is called “air con”, then I can use phrases like
“set the aircon to heat”
“set the temperature to XX”
“turn off the aircon”

However I couldn’t use “turn on the air con” so I made a switch called aircon, and the on action turned the climate mode to heat and the off action turned the climate mode to off/idle.

Just wondering if anyone knows how to set the fan speed using google home automation?

Thanks
Kiwi

Hi xiaosal, speedmax,

I’m attaching the file. I had to change the extension to YAML, to upload it, so change it back to INI.
You are welcome.
galanz.yaml (77.4 KB)

thx. unfortunately it does not work for me

Pretty much what you’ve already said.

I did notice the other day though that I accidentally said turn on the heater, and it then returned, “Turning the aircon to heat”. So not sure where that came from, none of my config has an alias or the like for ‘heater’.

Master, could you share your .ini file for your York AC? My Vaillant should work with the same codes, as I discovered they can use the same remote

hi guyys, i am trying to integrate this custom components. i copied the 3 file in the custum_components folder and i add this to my configuration.yaml:

climate:
   - platform: generic_thermostat
     name: Ufficio Giovanni
     heater: switch.condizionatoregiozzz  
     target_sensor: sensor.temperature_158d0002009bb1  
     ac_mode: on
     target_temp: 22
     initial_operation_mode: "auto"
  - platform: broadlink
    name: Climatizzatore studio gio
    host: xxx.xxx.x.xxx
    mac: 'xx:xx:xx:xx:xx:xx'
    ircodes_ini: 'broadlink_climate_codes/daikin_arc452a4.ini'
    min_temp: 16
    max_temp: 30
    target_temp: 20
    target_temp_step: 1
    temp_sensor: sensor.temperature_158d0002009bb1
    default_operation: idle
    default_fan_mode: high
    customize:
      operations:
        - idle
        - cool
        - dry
        - heat
      fan_modes:
        - low
        - mid
        - high
        - auto    

i can’t see the components in the ui and there is nothing in the logs.
any ideas?

Your spacing looks off for the generic_thermostat section?

Hi to everyone,first post for me in this community. Is there possibilty to obtain ircode “dry” or “Deumidification” for panasonics AC? in Both panasonic .ini file there’s only Heat and Cool commands.
I tried to record from AC controller (“push On” with DRY mode selecetd) but w/o success.

OT:
Other help I need , is for RF command recorded on Pro+. Could you suggest some other open discussion in this community?

Thanks in advance.
Ciao.

IS it possible (how to?) to have also the variables:
Powerful
Quite
Auto
(for Samsung also I think low power, 2 steps and so on)

for A/C codes?

I do have the codes for my panasonic A/C, I can share. Look for the codes of Samsung Maldives

customize:
  operations:
    - idle
    - cool
    - heat
  fan_modes:
    - low
    - mid
    - high
    - auto
  modes
    - quite
    - powerful
    - auto
    - low power

If you can learn the IR codes and its an actual mode on the remote (like heat and cool) can’t see why not. Mine only had heat and cool when I got a pre-made .ini file, and I added ‘Fan’ to mine which just runs the indoor fan without the indoor unit on.

Just learnt all the codes for this mode, which in this case does not have a temperature set, so I only had to learn and apply 3 codes (Fan - High, Fan - Med, Fan - Low) and then added those three codes for all the required temperatures (e.g. 18-30). It seems to need a temperature variable even if its not valid.

I see that in the Panasonic codes (both) there is an OFF command and IDLE, HEAT and COOL

But in frontend, there is option only for IDLE/HEAT/COOL … not for OFF?

Hi Claudio,
Could you share your panasonic A/C .ini file, in order to add “DRY” ir code command?
Thanks. Ciao

i found the error, i had no .ini file in the folder. ty.

Anyone using Samsung Maldives A/C?

FOr anyone having Samsung Maldives Quantum, the codes are … a lot, this is the summary

AUTO, Fan (only AUTO); one code
COOL (16 to 30 degrees), Fan (AUTO, LOW, MIDDLE, HIGH, TURBO); 75 codes!!
HEAT(16 to 30 degrees), Fan (AUTO, LOW, MIDDLE, HIGH, TURBO); 75 codes!!
DRY (18 to 30 degrees), Fan ( only AUTO); 12 codes!!
FAST COOL; one code
FAST HEAT; one code
FAN (AUTO, LOW, MIDDLE, HIGH, TURBO); 5 codes
COMFORT COOL (16 to 30 degrees); 15 codes
COMFORT HEAT (16 to 30 degrees); 15 codes
QUITE COOL (16 to 30 degrees); 15 codes
QUITE HEAT (16 to 30 degrees); 15 codes
SINGLE USER COOL (24 to 30 degrees); 6 codes
SINGLE USER HEAT (16 to 30 degrees); 15 codes

GOOD SLEEP COOL
GOOD SLEEP HEAT

These last two there is a timer involved, need to check how it works for the IR

You mean 2 broadlink devices?

I am using the codes in the repo

Is this still an issue? Upgraded to 0.71 and got latest files custom_component file and get the following errors

2018-06-18 15:56:23 INFO (MainThread) [homeassistant.components.climate] Setting up climate.broadlink
2018-06-18 15:56:23 ERROR (MainThread) [homeassistant.components.climate] Error while setting up platform broadlink
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/helpers/entity_platform.py", line 129, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 212, in coro
    res = func(*args, **kw)
  File "/config/custom_components/climate/broadlink.py", line 92, in async_setup_platform
    broadlink_device = broadlink.rm((ip_addr, 80), mac_addr, None)
TypeError: __init__() takes 3 positional arguments but 4 were given
2018-06-18 15:56:24 INFO (MainThread) [homeassistant.components.switch] Setting up switch.broadlink
2018-06-18 15:56:24 ERROR (MainThread) [homeassistant.components.switch] Error while setting up platform broadlink
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/helpers/entity_platform.py", line 129, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/app/homeassistant/components/switch/broadlink.py", line 143, in setup_platform
    broadlink_device = broadlink.rm((ip_addr, 80), mac_addr, None)
TypeError: __init__() takes 3 positional arguments but 4 were given
2018-06-18 15:56:25 INFO (MainThread) [homeassistant.components.switch] Setting up switch.broadlink
2018-06-18 15:56:25 ERROR (MainThread) [homeassistant.components.switch] Error while setting up platform broadlink
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/helpers/entity_platform.py", line 129, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/app/homeassistant/components/switch/broadlink.py", line 143, in setup_platform
    broadlink_device = broadlink.rm((ip_addr, 80), mac_addr, None)
TypeError: __init__() takes 3 positional arguments but 4 were given
1 Like

Yup, just upgraded the broadlink climate component and get the same sort of error:


2018-06-18 07:12:42 ERROR (MainThread) [homeassistant.components.climate] Error while setting up platform broadlink
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/helpers/entity_platform.py", line 129, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 212, in coro
    res = func(*args, **kw)
  File "/config/custom_components/climate/broadlink.py", line 92, in async_setup_platform
    broadlink_device = broadlink.rm((ip_addr, 80), mac_addr, None)
TypeError: __init__() takes 3 positional arguments but 4 were given
2018-06-18 07:12:42 ERROR (MainThread) [homeassistant.components.climate] Error while setting up platform broadlink
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/helpers/entity_platform.py", line 129, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 212, in coro
    res = func(*args, **kw)
  File "/config/custom_components/climate/broadlink.py", line 92, in async_setup_platform
    broadlink_device = broadlink.rm((ip_addr, 80), mac_addr, None)
TypeError: __init__() takes 3 positional arguments but 4 were given
2018-06-18 07:12:43 ERROR (MainThread) [homeassistant.components.climate] Error while setting up platform broadlink
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/helpers/entity_platform.py", line 129, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 212, in coro
    res = func(*args, **kw)
  File "/config/custom_components/climate/broadlink.py", line 92, in async_setup_platform
    broadlink_device = broadlink.rm((ip_addr, 80), mac_addr, None)
TypeError: __init__() takes 3 positional arguments but 4 were given
2018-06-18 07:12:44 ERROR (MainThread) [homeassistant.components.climate] Error while setting up platform broadlink
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/helpers/entity_platform.py", line 129, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 212, in coro
    res = func(*args, **kw)
  File "/config/custom_components/climate/broadlink.py", line 92, in async_setup_platform
    broadlink_device = broadlink.rm((ip_addr, 80), mac_addr, None)
TypeError: __init__() takes 3 positional arguments but 4 were given
2018-06-18 07:12:44 WARNING (MainThread) [homeassistant.setup] Setup of config is taking over 10 seconds.
2018-06-18 07:12:44 ERROR (MainThread) [homeassistant.components.climate] Error while setting up platform broadlink
Traceback (most recent call last):
  File "/usr/src/app/homeassistant/helpers/entity_platform.py", line 129, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 212, in coro
    res = func(*args, **kw)
  File "/config/custom_components/climate/broadlink.py", line 92, in async_setup_platform
    broadlink_device = broadlink.rm((ip_addr, 80), mac_addr, None)
TypeError: __init__() takes 3 positional arguments but 4 were given

Does anyone have a fix? Am on Home Assistant 70.1 running as a Docker container btw!

Update: Going back to the broadlink.py from 3 months ago solved this issue!

sorry for the noob question. is it possible to upload the code for an “hyperclima” that i have copy?

Hi folks, I have a question about this component and the user interface.

This component is meant to control an air conditioner and uses a temperature sensor external to the air-con to display to the end user. The end user will correlate the temperature displayed as the temperature produced by the air conditioner. I think that this will cause confusion for the end user (and I mean my family members) as they can set the temperature to 24c and yet the display will show a sensor temperature that could be higher or lower - and it will not truly indicate the air conditioners intentions.

I think that if the config has an external sensor defined, then the config would be better to have the option to turn on/off the aircon as required. Much like the MQTT thermostat.

I understand this subverts the air-cons own temp sensors. In my case this would be a good thing, my air-con is notorious for over-exerting itself!

Does anyone else agree with that idea?