[WITHDRAWN - Use the new Broadlink integration by @tomw] NATIVE Broadlink RM/RM Pro/RM Mini/SP driver

This is huge. In my playstore app review I said " a very capable piece of hardware ruined by sh1t programming". And you fixed it, just incredible. I had the econtrol app and what a clunker, often fails to connect or carry out scheduled tasks. Rarely have I seen an appwith such a horrible rating. How does broadlink allow all their investment to be crippled by horrid software?? (CCP funding them?)
You have no idea how close I came to buying a bond hub and a logitech harmony, but don't need it any longer. I'll just get a few black beans and I'm good to go.

PS- does anyone think broadlink might try to stop us from doing this? probably good to block the rmpro from accessing the internet or will that somehow affect functionality on HE ?

So all goes well up until the sending ir commands or being able to configure devices in the app..

In the devices page I can learn ir and the orange led turns on then off to indicate it learnt a command. I get a really long hex code for my remote for my AC . So appears all is well except I can't send that code from the send command box in the device page The device just doesn't respond.

I then tried to install the app. All is well. I open the app and it sees my devices I have entered. I click configure and leave the name as is but they never show in the configured devices. As in none of my devices. I have rm2 and rm2+ and the little ir only device. None seem to configure.

I followed things step by step so a little lost now. This same remote has no problems learning in econtrol, or learning in rmpro/tasker on the same rm pro

After you have done this.. try saving the code with a name
Does this work?
After saving you can just send the name to the device and it should work.
That's how I do it (look at my previous posts)

Andy

1 Like

@cybrmage
I still can't thank you enough for this.
It works so well for me.

I know the work involved in creating this and I'm really impressed.
Brilliant job!

Interesting. That works.... Although not sure why the app doesn't work. Seems I can do everything in the device page and save the codes to use in rule machine. After all I on;y learn them to use in rule machine anyway... seems I can find the names of the stored commands in the device page as well...

Its a little slow sometimes, almost as slow as the old way of http posts to my android box with rmplugin that then sent the commands to the broadlink devices... but this is all local so not relying on my android box being on. So maybe a slow transition over as I have broadlinks in every room of my house.. almost. All my light switches are rf based that I use esp8266 on each to let hubitat know the light is on.. So using all I can to keep the old light switches alive as they look nice and work well. Plus th air conditioning, surrround soud, soundbar... Come to think of it half my devices are ir or rf.. slowly moving over the zigbee and zwave but in no rush

Great effort with this integration @cybrmage . Thank you for creating it. Is there any place to make donations? Or is this against forum rules?

I would like to send a little something too

Strange, I have found it to be almost instant in my tests

I've reboot the hub so see if that helps... I'll check if that helped tomorrow. Edit: initial signs are it's almost instant now I've reboot so getting better by the minute.

1 Like

What is the best way to link voice commands to broadlink codes? It looks like the only way is to create a virtual device that then links to a rule machine rule that then would execute the rule actions. This seems unnecessarily complex.

It appears the virtual device will be required so that you can give you voice controller access to that device and so that it can differentiate devices. Is their a device type that can be used for an action such as this?

The app doesn't work because you installed the drivers manually... The app can not access or manage drivers that have been installed manually (this is a Hubitat restriction - App can only access devices that they create or are specifically given access too - prevents malicious apps from hijacking devices). This is an artifact of the driver development... driver was created first... Application came later...

I had mentioned this in the documentation and in the thread, but obviously not clearly enough. I have updated the documentation (available in the first post of the thread) to make this more obvious.

Most devices that are ESP8266 based can be flashed with alternate firmware. You may wish to look at the Tasmota threads... Converting to Tasmota will allow them to be fully controlled and monitored by Hubitat without resorting to RF. (Do a forum search for "Tasmota").

Don't forget to look at the companion app - "RC HVAC Manager" which is designed to create a thermostat device and eliminate the need to learn codes (for supported code formats)

2 Likes

I do not accept donations.

If you feel a need to make a donation, I highly encourage you to make a donation to the charity of your choice in your local community.

4 Likes

No. This is not possible. Due to the way that the broadlink communicates with it's host (in this case HE) for receiving IR data, it must be polled very frequently to obtain the codes. This combined with the procedure required to set the device into learn mode and to keep it in learn mode, means that this function is very process intensive and is not reliable.

Yes. I have tried it.

No. It is not a feature that will be made available in the app or driver.

OK thanks for th clarification. I assumed that it created its own devices (new names) for the same hardware. So I would have a device created manually and a device created in the app.. Seems one of the other so now make sense why it didn't work.

Thanks for the advise. I've done that with my sonoff device. I've also used hubduino for my blind control (diy servo motor).. But my lights are only Rf based. The esp is only used to detect the power is on in the circuit fornwhen I manually turn them on. I don't have neutral on my older Australian house at the light switches so pretty limited at smart switch choices.

That was in my todo list. I have a Hitachi and a Mitsubishi ac unit.. Seems the Mitsubishi will work with that but need to do some reading for the Hitachi. In saying that I usually just set one temperature and mode most of the time so haven't worried about a remote control from hubitat.. Although I am tempted and will try HVAC manager as sometimes you just don't appreciate what you are missing out on

RC HVAC Manager supports two types of Mitsubishi ir protocol, so you should be ok there...

The Hitachi IR protocol is not supported, but if you capture some codes, I might be able to decode the protocol and add support... (Contact me by PM if you want to do this)

I'm getting an error when I click devices in the app:

Logs:

[app:418](http://192.168.1.190/logs#app418)2020-04-29 08:32:19.242 am [error](http://192.168.1.190/installedapp/configure/418)java.lang.IllegalArgumentException: The JSON input text should neither be null nor empty. on line 453 (DiscoveryPage)

[app:418](http://192.168.1.190/logs#app418)2020-04-29 08:32:19.193 am [info](http://192.168.1.190/installedapp/configure/418)(getDevices)

[app:418](http://192.168.1.190/logs#app418)2020-04-29 08:32:19.189 am [info](http://192.168.1.190/installedapp/configure/418)findDevices - discovery done

[app:418](http://192.168.1.190/logs#app418)2020-04-29 08:32:17.451 am [info](http://192.168.1.190/installedapp/configure/418)(parseDiscoveryData) state.broadlinkDevices: [24DFA7B9C319:[Name:[UNNAMED], MAC:24DFA7B9C319, IP:192.168.1.139, devType:24994, devTypeName:Unknown device (0x61A2)]]

[app:418](http://192.168.1.190/logs#app418)2020-04-29 08:32:17.438 am [info](http://192.168.1.190/installedapp/configure/418)parseDiscoveryData - received description: [deviceNetworkId:null, description:index:00, mac:24DFA7B9C319, ip:c0a8018b, port:50, type:LAN_TYPE_UDPCLIENT, payload:5AA5AA555AA5AA5500000000E4071120081D030400000000C0A801BE800D000072D5000000000700000000000000000000000000A2618B01A8C019C3B9A7DF24E699BAE883BDE981A5E68EA700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000201]

[app:418](http://192.168.1.190/logs#app418)2020-04-29 08:32:16.566 am [info](http://192.168.1.190/installedapp/configure/418)findDevices - discovering broadlink devices

[app:418](http://192.168.1.190/logs#app418)2020-04-29 08:32:16.557 am [debug](http://192.168.1.190/installedapp/configure/418)(DiscoveryPage)

--- Live Log Started, waiting for events ---

Any ideas?

You'll need to describe:

  1. What is your RM device?
  2. how did you add the RM device to your network
  3. what steps were taken in the app before the error

BUT... from the data in the logs...

  1. Your device is an unsupported device
  2. Your device is CLOUD locked

Damn, if that is the case, I'll return it. Can I unlock it? or is there an unlocked version I can buy instead?

  1. Its this device on Amazon: BroadLink RM4 pro IR and RF Universal Remote, All in One Hub Code Learning WiFi Remote Control for Smart Home and Entertainment Devices TV, STB, AC, Curtain Motor, Compatible with Alexa

  2. Downloaded the Broadlink app, joined RM device to my Wifi, and learnt my RF blind remote commands.

  3. I just setup the app in HE, so it wasn't working historically, first time setup.

OK I saw the warning on the first post, its an RM4, so looks like its not supported... sigh

I have just posted an update, v0.44.

It is available from the first post in the thread.