Page 1 of 1

Broadlink RM Pro

Posted: Mon May 29, 2017 8:11 am
by xnappo
I have been playing around a lot with the Broadlink RM Pro.
https://www.amazon.com/Broadlink-Pro-Wi ... rds=rm+pro

It has Android Tasker supporting it, and a nice Python lib here:
https://github.com/mjg59/python-broadlink

The Python lib provides very simple control - I have actually just been learning functions I need, but I am sure y'all could do better :)

I have personally been moving more of my system to IP-based control, and using this guy to fill in the gaps.

Not using it as my primary remote yet, but here is the remote I made in Tasker:
Image

One of the reasons I (and everyone) hates touchscreen remotes it you have to look at them, but with gestures on top of buttons it isn't so bad. Tap anywhere, pause/play. Swipe up/down volume, left/right 30 seconds skip..

xnappo

Posted: Mon May 29, 2017 8:13 am
by xnappo
Barf asked in another thread if the API is open or not.

My impression is it is closed. However the device is super simplistic. All it does is provide IR/RF codes and play them back. It doesn't store them or interpret them in any way.

Posted: Mon May 29, 2017 8:30 am
by xnappo
Here is an example of what a 'learn' looks like:

Code: Select all

2600 5800 0001 2894 1015 1015 103a 1014 1015 1015 1015 1015 1039 1139 1015 103a 1039 1139 103a 103a 1014 103a 1015 1015 1015 1015 1014 1015 103a 1015 1039 1139 103a 103a 1039 103a 1000 0529 0001 2949 1100 0c5a 0001 284a 1000 0d05
There is also a smaller, cheaper version that is IR only:
https://www.amazon.com/dp/B01FK2SDOC/

Posted: Mon May 29, 2017 10:23 am
by yaworski
It looks like the device is really packet for the price. Besides IR/RF it has some nice sensors: humidity, light, temperature, noise and air quality.

I'm now thinking about buying at least one. I'm using Home Assistant automation software and it looks like they are also using the library you've linked to to provide support for the device.

Posted: Mon May 29, 2017 12:57 pm
by Barf
From the POV of an IR-hacker, I mean something differently by API than learnng and replaying remotes. How can I have the device sending a raw signal of my choice, for example? We don't want to throw away all our IR signal data bases, and "learn" the remotes again, dirty learns included in the price? This is not a Harmony-forum :wink:
Here is an example of what a 'learn' looks like:

Code:
2600 5800 0001 2894 1015 1015 103a 1014 1015 1015 1015 1015 1039 1139 1015 103a 1039 1139 103a 103a 1014 103a 1015 1015 1015 1015 1014 1015 103a 1015 1039 1139 103a 103a 1039 103a 1000 0529 0001 2949 1100 0c5a 0001 284a 1000 0d05
so, at least, we have to reverse engineer what that means. Does not look like Pronto. It may or may not be hard... Possibly it is already done in "Android Tasker"?

EDIT: Just discovered protocol.md in the Github project. It appears to address the meaning of the "learns". Looks promising.

Posted: Mon May 29, 2017 2:27 pm
by xnappo
Yep. Thought you guys would find it interesting. As I said I have been largely using IP based control and only using this for a couple of simple things so haven't bothered with anything other than learns.

More discussion here:
https://github.com/mjg59/python-broadli ... -263129225

Posted: Sat Jun 03, 2017 1:29 pm
by Barf
I just bought one such from amazon.de and managed to be successful with it. I have written a Broadlink exportformat for IrScrutinizer. That is, IrScrutinizer can transform "most" remotes to a python command line program that with the said hardware and library, can send those signals. (Of course, the main usage is to get the signals into a format that can be used by the API of broadlink-python. The cli program is not really believed to be extremely useful on its own.)

To use, either grab the snapshot, or use version 1.4 (no earlier will do) and drop this file into the exportformats.d directory.

Posted: Sat Jun 03, 2017 1:57 pm
by xnappo
Very cool. I just tried it with an RM command and works as expected.

How is this device as an alternative to an IR widget for going the other way 'round?

Posted: Sat Jun 03, 2017 1:58 pm
by The Robman
xnappo wrote:Here is an example of what a 'learn' looks like:

Code: Select all

2600 5800 0001 2894 1015 1015 103a 1014 1015 1015 1015 1015 1039 1139 1015 103a 1039 1139 103a 103a 1014 103a 1015 1015 1015 1015 1014 1015 103a 1015 1039 1139 103a 103a 1039 103a 1000 0529 0001 2949 1100 0c5a 0001 284a 1000 0d05
Do you know what signal this is?

Posted: Sat Jun 03, 2017 2:11 pm
by xnappo
That was being lazy and copying an example from the Git discussion here:
https://github.com/mjg59/python-broadli ... -263129225

Posted: Sun Jun 04, 2017 7:38 am
by Barf
I just forked the GitHub project and checked in an improved broadlink_cli, supporting two new options, --durations and --convert. With the --durations option, instead send options are the durations in microseconds we are aware of, and --learn (and --learnfile) delivers the results as durations in micro seconds (with the signs common in this forum). The --convert option converts Broadlink data to durations. This is the changed file.
How is this device as an alternative to an IR widget for going the other way 'round?
It obviously uses a demodulating receiver, with the properties we know of: no frequency measurement available, probably very limited possibilities to "learn" signals outside of 38kHz +- 2kHz. The captures appear pretty "dirty"; a lot of random errors. Im conjunction with a signal cleaner/repeat finder/decoder, it can certainly be used to "learn" at least standard signals. With some more work (2-3 days?), it should be possible to support it directly in, say, IrScrutinizer.
Quote:
Here is an example of what a 'learn' looks like:

Code:
2600 5800 0001 2894 1015 1015 103a 1014 1015 1015 1015 1015 1039 1139 1015 103a 1039 1139 103a 103a 1014 103a 1015 1015 1015 1015 1014 1015 103a 1015 1039 1139 103a 103a 1039 103a 1000 0529 0001 2949 1100 0c5a 0001 284a 1000 0d05
The just described program converts this to

Code: Select all

+9732 -4860 +529 -684 +529 -684 +529 -1891 +529 -684 +529 -684 +529 -684 +529 -684 +529 -684 +529 -1891 +529 -1891 +529 -684 +529 -1891 +529 -1891 +529 -1891 +529 -1891 +529 -1891 +529 -684 +529 -1891 +529 -684 +529 -684 +529 -684 +529 -684 +529 -684 +529 -684 +529 -1891 +529 -684 +529 -1891 +529 -1891 +529 -1891 +529 -1891 +529 -1891 +529 -1891 +529 -43382
+9732 -2414 +529 -106648
which is protocol = NEC1, device = 4, obc = 2.