Broadlink Integration - add support for RM4 Mini

Thanks, my friend.

When you said that the edit will not survive a server reboot, i was fearful to try. Double checked and the file was edited and saved, but don’t work.

Mysteriously, wen i did a reboot, that works!

Thanks one more time for your help!

Weird…after a reboot my file is back in its original state, but the discovered RM4 remains …
Anyway, good that you got it working :wink:

Same error with RM4C mini

Unsupported device: 0x6539

1 Like

Thanks aceindy!
Like k7franklin, I had to reboot before it would work, but my rm4 mini has been added now.

I’m a Hass n00b and “installed” Hass by downloading the VHDX on my Hyper-V server… I suppose this method only works when you’ve installed Hass using the Supervised route?

Thanks in advance!

No. I use HASSIO and used ssh to access docker instance. But, for this works, i need to use community Web and Terminal addon and not the oficial ssh addon.

Thanks, will install those and give it a try!

Sorry, which addon? I only found ssh and terminal addon…

Thanks,
Paolo

SSH & Web Terminal, is avaliable in hacs, i think.

Thanks! Already installed!

Hmm…something fishy going on with 2020.12 updates… :tropical_fish:
I lost my RM4c mini 0x6539 after the update from 2020.12.0 to 2020.12.1…
Even restoring a snapshot did not bring it back.

Had to re-add the line once more to restore it (i did not have to re-install the integration or re-learn the IR codes)

I have a RM4C Mini with device type 0x6539 which was saying it was unsupported in homeassistant.
I spent hours reading many threads and putting together all the information which I learnt.

I found that device type 0x6539 was not in the current version of homeassistant (at the time of writing this post). I needed to update the file containing the supported device types to allow the Broadlink integration to work with the device.

I managed to find the file which is located in the homeassistant docker container on my installation.

You can either plug in a monitor and keyboard to your Pi or setup host SSH on port 22222 using the instructions here. Debugging the Home Assistant Operating System | Home Assistant Developer Docs

Once you have managed to get to the host and have a shell type:

login

. You should be on the hypervisor OS now. If you type:

docker ps

it will show you all the containers running on your host and you will see one called homeassistant.

If you now type:

docker exec -it homeassistant bash

you will end up in a bash shell inside the homeassistant docker container.

Now you can change to the following directory:

cd /usr/local/lib/python3.8/site-packages/broadlink

In this directory will be a file called "__init__.py "
I used vi to edit this file:

vi _init_.py

I added the following line under the SUPPORT_TYPES section

0x6539: (rm4, “RM4C mini”, “Broadlink”),

Now write and quit the file to commit your changes. You should now restart your homeassistant instance which will read in the new file and discovery should find your new Broadlink RM4C mini which has a device type of 0x6539.

After following this method I have found the new learning and sending functionality in the recent update for the Broadlink integration amazing. Thanks for the devs for all their hard work in the recent release.

I hope this post helps collate information I gathered from a number of different threads to help someone with the same issue.

5 Likes

@Jamezz98 An exact duplicate of what I said :wink:

Thanks @aceindy. I must somehow missed your post, apologies. :slight_smile:

I just noticed that it will NOT survive a core update (but the configuration does) until the pull request on the BroadLink source has been committed…

I have not tried the latest core update yet since i made the change just in case it removed it. But if i already have my device configured through the integration now, will it matter if the device type is no longer in the file?
Once configured will it keep working anyway?

Not here…my init.py was reset to default,
That resulted in my rm4c not able to load until I re-added the line again
(you can see it fails in logs)
However, once I re-added the line, everything worked again as before the upgrade :wink:

I have to say that after the reboot (several reboots) the lines I added in the init.py are still there.
I added the lines in the middle of the file…

Reboot seems to be ok…core update not…:wink:

Ja… It’s so uncomfortable to backup and restore the init.py at every update, like the today one!