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

Hi Cato,

I’m very interested in your Broadlink binding. Is it still available?

Many thanks and all the best,

Jens

1 Like

Thanks very much indeed! I’m a newbee, but I’ll try to work out on my own how to install and use this before I bug you any further.

Much appreciated!

Jens

Hello, I have several Broadlink devices (SC1 Broadlink Intelligent Switch, S2 Hub Alarm Kit, RM PRO and RM Mini), I also have Livolo RF switches. I control all equipment by IR / RF.

I would like to try this integration with openhab. I downloaded the file, but it is a file in JAVA extension and when I run it nothing happens. Can you give me some tips to help?

Thank you very much.

put it in addons folder

conf/addons

and you will see it during runtime

I would like a pm please. I cant seem to figure out the keys.

Hi… I’m afraid I’m struggling a bit. I’ve extracted the archive on my pi into the add ons folder. I don’t see a Broadlink binding in my list in the Paper UI though, even after trying a reboot. Here is where my files are:

15

What am I not doing or doing wrong? Thanks for your help!

Jens

it should looks like this:
27%20AM
You should download file with .jar extension

Hello,

I performed disassembly, cleanup and adjustments of the original binding provided by Cato. Seems to work correctly on my Broadlink RM3 mini.
I hope that Cato is ok with my actions.
Here you can find source code - https://github.com/mgwoj/org.openhab.binding.broadlink
I invite you for forking and maintaining it.

Thanks,
Michal

2 Likes

Does it support auto discovery ? My biggest problem with this binding is discovery. RM3 mini constantly changes IP address. I tried to setup static ip on dhcp server, but mini doesn’t like it. It refuses to use same ip. So I ended up writing python script to discover and update IP address.

mine stop working ,fill the initial and iv again,the blackbean is online,the map,item and sitemaps files are the same. any how to make it work again,sorry i’m a noob with computer.

2018-05-25 17:20:40.966 [vent.ItemStateChangedEvent] - HafisBedroom_Aircond_Toggle changed from AIRCOND_OFF to AIRCOND_ON
2018-05-25 17:20:42.835 [ome.event.ItemCommandEvent] - Item ‘HafisBedroom_Aircond_Toggle’ received command AIRCOND_OFF
2018-05-25 17:20:42.837 [vent.ItemStateChangedEvent] - HafisBedroom_Aircond_Toggle changed from AIRCOND_ON to AIRCOND_OFF
2018-05-25 17:23:00.509 [ome.event.ItemCommandEvent] - Item ‘HafisBedroom_Aircond_Toggle’ received command AIRCOND_OFF
2018-05-25 17:23:01.382 [ome.event.ItemCommandEvent] - Item ‘HafisBedroom_Aircond_Toggle’ received command AIRCOND_ON
2018-05-25 17:23:01.385 [vent.ItemStateChangedEvent] - HafisBedroom_Aircond_Toggle changed from AIRCOND_OFF to AIRCOND_ON

I had the same problem for the rm type and i fixed it by changing

if device_type == 'rm':
                devicesdict[devicename] = broadlink.rm(host=host, mac=mac)

with

 if device_type == 'rm':
                devicesdict[devicename] = broadlink.rm(devtype=0x2737, host=host, mac=mac)

But this will only work if all devices are same type (ej all rm mini), this is the list of all devices types:

def gendevice(devtype, host, mac):
  if devtype == 0: # SP1
    return sp1(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x2711: # SP2
    return sp2(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x2719 or devtype == 0x7919 or devtype == 0x271a or devtype == 0x791a: # Honeywell SP2
    return sp2(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x2720: # SPMini
    return sp2(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x753e: # SP3
    return sp2(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x7D00: # OEM branded SP3
    return sp2(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x947a or devtype == 0x9479: # SP3S
    return sp2(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x2728: # SPMini2
    return sp2(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x2733 or devtype == 0x273e: # OEM branded SPMini
    return sp2(host=host, mac=mac, devtype=devtype)
  elif devtype >= 0x7530 and devtype <= 0x7918: # OEM branded SPMini2
    return sp2(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x2736: # SPMiniPlus
    return sp2(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x2712: # RM2
    return rm(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x2737: # RM Mini
    return rm(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x273d: # RM Pro Phicomm
    return rm(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x2783: # RM2 Home Plus
    return rm(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x277c: # RM2 Home Plus GDT
    return rm(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x272a: # RM2 Pro Plus
    return rm(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x2787: # RM2 Pro Plus2
    return rm(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x279d: # RM2 Pro Plus3
    return rm(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x27a9: # RM2 Pro Plus_300
    return rm(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x278b: # RM2 Pro Plus BL
    return rm(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x2797: # RM2 Pro Plus HYC
    return rm(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x27a1: # RM2 Pro Plus R1
    return rm(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x27a6: # RM2 Pro PP
    return rm(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x278f: # RM Mini Shate
    return rm(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x2714: # A1
    return a1(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x4EB5 or devtype == 0x4EF7: # MP1: 0x4eb5, honyar oem mp1: 0x4ef7
    return mp1(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x4EAD: # Hysen controller
    return hysen(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x2722: # S1 (SmartOne Alarm Kit)
    return S1C(host=host, mac=mac, devtype=devtype)
  elif devtype == 0x4E4D: # Dooya DT360E (DOOYA_CURTAIN_V2)
    return dooya(host=host, mac=mac, devtype=devtype)
  else:
    return device(host=host, mac=mac, devtype=devtype)

1 Like

Maybe you should consider giving it a static ip from your dhcp server on your router.

Thank you! That worked!

Jens

Hi i have a new system, when i put the jar file in addons
i am not able to see the bidning under paper UI…

can anyone help ?

Hi, I’m new to Openhabian. Have installed in pi3 with latest version. Do not know how to get started with Broadlink bindings. Followed instruction buy nothing came up. Can anyone help step by step?

Hi all,
Im trying to do work the binding and configuration in OH 2.3.0 - Broadlink rm mini 3.
All good until step 6, so i added the codes in broadlink.map.

When i add this line in item file:
String Electra_on “acon” {channel=“broadlink:rm3:34-ea-34-58-b9-ba:command”}

i have this error message: Configuration model ‘mymodels.items’ has errors, therefore ignoring it: [52,19]: missing EOF at ‘�’

Adding this line in sitemap

Switch item=AC_POWER label=“Power” mappings=[Electra_ON=“On”, Electra_OFF=“Off”]

error is Configuration model ‘mymodels.sitemap’ has errors, therefore ignoring it: [10,36]: no viable alternative at input ‘�’
Any idea? Im drivin crazy :frowning:

so you have an empty line below your last item?

Thanks for your answer Mueslee…
Sadly no :frowning: and if i delete the line the item file is loaded right…

just try to add a empty line, most linux config expect to have this in config files. not sure if openHAB is the same
also please make sure the you don’t “ ”, but " ". looks both really simialar but it isn’t the same