SmartIR icon indicating copy to clipboard operation
SmartIR copied to clipboard

RF codes instead IR codes with your integration doesnt work

Open Electronlibre2012 opened this issue 11 months ago • 1 comments

hello,

i have a beko BX109C air con and the remote is HF not IR.

In your doc its says IR/RF controler like broadcom rm4_pro, so i thought i can put my RF code and it will work. No. I imagine that why you call it smartIR not smartIRF or smart RF lol. Nice work anyway. i love your thermostat.

if i put a RF code in the json, i need to put "b64:RFCODE....." to make it work (thats the way broadlink works with RF codes in HA) and modify the controller.py with a new controller "RF_CONTROLLER = 'RF'"

class RFController(AbstractController):
    """Controls a generic RF device using remote.send_command."""
    def check_encoding(self, encoding):
        if encoding not in RF_COMMANDS_ENCODING:
            raise Exception("The encoding is not supported by the RF controller.")

    async def send(self, command):
        """Send a command."""
        commands = []

        if not isinstance(command, list):
            command = [command]

        for _command in command:
            if not _command.startswith("b64:"):
                _command = "b64:" + _command
            commands.append(_command)

        service_data = {
            ATTR_ENTITY_ID: self._controller_data,  # remote entity_id
            'command': commands,
            'delay_secs': self._delay
        }

        await self.hass.services.async_call(
            'remote', 'send_command', service_data)

and modify accordingly climate.py, now it work as expected.

Electronlibre2012 avatar May 23 '25 15:05 Electronlibre2012

I've had no issues with RF codes -- I contributed several RF codes to this project.

Take a look at this file:

https://github.com/smartHomeHub/SmartIR/blob/master/codes/fan/1080.json

Those codes are Broadlink RF codes and it specifies base64.

lamharry avatar Aug 16 '25 10:08 lamharry