Broadlink binding for RMx, A1, SPx and MP. Any interest?

I have submitted a pull request that fixes the issue of SP2 and SP3 always reporting as OFF. Further I have discovered that some parts of the Broadlink binding has an issue where the devices’ acknowledgment packets sent as a response to a command is not handled - causing different issues for different devices.

In my PR for SP2 and SP3, this problem is solved! It is a very small fix and it should be easy to extend this to other devices as well!

PR: https://github.com/themillhousegroup/openhab2-addons/pull/1

The Power consumption values of SP3s are never read since it is not implemented in the binding yet, but having gotten to understand the binding a bit I might implement this and the Night light switch in the near future.

1 Like

This is outstanding work @FreddyFox - I’ve approved your PR, merged it and have just published BETA-8 which includes your SP2/SP3 fixes. Thankyou so much for helping with the development of this binding - I don’t (yet*) have an SP- device to test with so your contribution has been really valuable.

BETA-8:
https://dl.bintray.com/themillhousegroup/generic/org.openhab.binding.broadlink-2.4.0-BETA-8.jar

(*) I did recently order an SP3 Mini, which should arrive next week. Will be very interested to see if it works “out of the box” with this binding.

@themillhousegroup
I’ve tested the BETA-8 with succes for two SPMini2.
State will be regognised on startup and stay as set.
But PowerConsumption still dosn’t work for Mini Devices.
Many thanks also to @FreddyFox

@themillhousegroup
It’s been a learning experience(never had to edit *.items files as of yet), but i got the binding to work!
i’m on beta7 - didn’t have the time to switch to beta 8, tho there shouldn’t be any difference for the only rm3 ihave.

To anybody whom might be interested:
The codes acquired following this https://github.com/NightRang3r/Broadlink-e-control-db-dump have worked for me so, if you have a rm pro that leads you in the manual to use the IHC app, you can install instead the e-control app (also by broadlink) and follow that guide to aquire the hex codes. The only slippery bit being finding the matching versions of simplejson and python2.7 (doesn’t work with other releases) for your system.

for me, the next thing is discovering how to expose correctly these items to google home now :scream::rofl:

I’m about to publish a blog post that might help … :slight_smile:

1 Like

@themillhousegroup

Did u had a chance to go over my debug logs to identify the issue with RM3?

Thx

if anybody is wanting to implement something of the likes of:
google home>openhab>broadlink binding>rm sending commands

Dim helped me with it in that post :wink:

1 Like

@themillhousegroup : Good job on picking up from where Cato left things.

Maybe you want to startup a new thread for your Broadlink Binding (https://github.com/themillhousegroup/openhab2-addons/tree/master/addons/binding/org.openhab.binding.broadlink)

This thread is a mess :slight_smile: It is hard even for me to find proper info in here.

If you need Moderator help to move selected posts over to a new “Broadlink Binding Alpha” thread, please let me know.

Keep up the good work and active development of the Broadlink binding ! :+1:

1 Like

Hi John,

I tested the BETA-8 and it works now on my SP3 !
The status is now shown as it should.
Thank you so much for your effort.

I found that this is already supported via pollingInterval

I’ve changed it to 600 seconds

where did you find the polling interval for this binding?

PaperUI -> Configuration -> Things -> “your device” -> Edit (the blue circle with a pen) :slight_smile:

?it’s not there?

Ah, it doesn’t seem to be specified for the RM3 device (https://github.com/themillhousegroup/openhab2-addons/blob/master/addons/binding/org.openhab.binding.broadlink/ESH-INF/thing/thing-types.xml#L474-L529)
Weird that @smhgit apparently found it!

@FreddyFox

I’ve found it in the ESH folder at the thing definition. You can use it in the thing file definition (if u are using files for things)

Thing broadlink:rm3:34-ea-34-e3-c1-ca "Broadlink RM3 2" [ ipAddress=".....",
  port=80,
  mac=".....",
  authorizationKey="097628343fe99e23765c1513accf8b02",
  iv="562e17996d093d28ddb3ba695a2e6f58",
  mapFilename=".....",
  pollingInterval=600
  ]
1 Like

Thanks @Dim, I think it would be good to start afresh - over 18 months of stop-start discussions can definitely be condensed down!

2 Likes

Anyone who is interested in hooking their Broadlink RM- or SP- device up to Google Home, there a couple of little tricks you may need to employ to get Switchable items to work, so I’ve written up a blog post about it.

It’s working well for me with an RM3 Mini sending IR commands to Daikin and Panasonic airconditioners:

Hope it helps

3 Likes

:+1:

we have 3 options:

  1. Split this thread to a new one starting from post #572 to keep the recent developments
  2. You create a new empty Thread titled “Broadlink Binding Next-Gen” (or something similar :slight_smile:)
  3. You select the posts that you want to be transferred to a new thread from here and we create a new one based on your selection

What do you prefer?

Of course, we will add a placeholder on the first post in this thread to point to the new thread

1 Like

I reckon we go with a completely clean slate - option 2. Then I’ll write one big post to head up the “Next-Gen” topic, with everything up-to-date as of now; installation, discovery, how to store IR codes on IR blaster devices, known issues, etc.

2 Likes

One (possibly!) last announcement on this thread - BETA-9 is now available:

https://dl.bintray.com/themillhousegroup/generic/org.openhab.binding.broadlink-2.4.0-BETA-9.jar

The main feature of this version is support for Dynamic IP Addresses.
There is a new switch available under the advanced Thing properties (open the SHOW MORE area in PaperUI) - it’s marked “Static IP” and it defaults to ON. If you are on a network where your Broadlink device might periodically be issued a different IP address, move it to the OFF position.

Now, if we lose communications with this Thing, rather than mark it OFFLINE, we’ll go into a mini-Discovery mode, and attempt to find the device on the network again, using its MAC address (which never changes).
If we find the device, we update its current IP address in its Thing config, and everything continues without a hiccup. If we fail to find it, it goes OFFLINE as normal.

I should give credit to the LIFX binding which uses a very similar scheme - by chance I happened to come across it and realised it would be great for Broadlink devices too. As an extra bonus, it prompted me to redesign the entire discovery system and make it asynchronous; as a result it is now MUCH more reliable at finding devices (particularly if you have multiple Broadlink devices on your network) without having to scan repeatedly.

I know there have been people in this thread who were looking for this feature - hopefully they can give this a try and give some feedback!