New Broadlink SP2/SP3/SP3S controller

No. Unfortunately not. I got a couple of those devices last week and did a quick test with them and they don’t play nice. They use the same protocol, but don’t work like the older ones. My findings so far:

  • MCB1 is not usable with eControl application. It is possible to configure WLAN to the device with eControl, but the device does not appear in the eControl afterwards.
  • The device can be configured and controlled using the Broadlink iOS app.
  • If MCB1 is connected to WLAN using Broadlink app
    • The device will answer to probe packet
    • The device will answer to auth packet encrypted with default key with an error code
    • Most likely this is because Broadlink app as default sets the device into the locked state and as far as I can see, there is no setting to undo that in the app.
  • If MCB1 is connected to WLAN using eControl app
    • The device will answer to probe packet
    • The device will answer to auth packet and yield a key
    • The device will answer to power command or status query packets with error code, which I assume is -5 if it’s encoded as signed 16 bit little endian. Anyways the packet payload (all zeros) seem to be encrypted using the key yielded with auth command, so the key is most likely correct.

I won’t have time to look into this for now, but maybe someone else can look into it.

1 Like

I pushed the debug stuff, I’ve already done with MCB1 to mcb1-hacking branch of node-broadlink-core and node-broadlink-hub repos. It is possible to run the hub from the command line and give it just a single ip address of MCB1 device to see what happens. Doesn’t work though :frowning:.

Thanks for the update @rinne.

Thanks for making this addon @rinne! I’ve been having a lot of problems with the builtin broadlink integration for a pretty long time now. I’m hoping this will work better for me.

However, I’m running into an issue trying to install the add-on on my hassos install. I get the following error in the supervisor logs when I try to install:

20-05-09 13:47:01 INFO (SyncWorker_4) [supervisor.docker.addon] Start build local/armv7-addon-broadlink-hub-hassio-addon:1
20-05-09 13:47:29 ERROR (SyncWorker_4) [supervisor.docker.addon] Can't build local/armv7-addon-broadlink-hub-hassio-addon:1: The command '/bin/ash -o pipefail -c ( cd /node-service && npm install )' returned a non-zero code: 1

Some other details, not sure how useful they are:
Supervisor Verison: 222
Host System: HassOS 3.13
Host Deployment: Production
Homeassistant verison: 0.109.2

Hi

My both installations are running under Virtual Box in Intel based systems. Most likely that error has something to do with ARM platform. Maybe it’s just running out of memory or something?

Can someone else help?

Hi
Thanks for the great work on the Broadlink add on.
When I get to the stage of install I receive the following error

20-05-12 05:15:06 ERROR (SyncWorker_5) [supervisor.docker.addon] Can't build local/armv7-addon-broadlink-hub-hassio-addon:1: The command '/bin/ash -o pipefail -c ( cd /node-service && npm install )' returned a non-zero code: 1

Any suggestions on how to resolve this

I also found MCB1 is not usable with eControl.
I found the new Broadlink app “universal remote” works well with these new switches

Ah yes this is running on a raspberry Pi 3B.

Are using using the standard home assistant install on your VMs? https://www.home-assistant.io/hassio/installation/

I wonder if maybe npm isn’t included in the latest installs?

So modifying the Dockerfile slightly seemed to make it work. I have no idea why though:

-RUN ( cd /node-service && npm install )
+RUN cd /node-service
+RUN npm install

EDIT: scratch that this allows it to finish installing, but the npm install command doesn’t seem to actually install so it crashes on startup while loading dependencies.

Exactly the same problem here, also running Pi3b.

Yes. I’m using the standard Hassio release under VirtualBox running in Linux box (Intel).

Yes. However it seems to put the device automatically to locked state, so it won’t answer to probes after being initialized with that. I think some reverse engineering would be in order, but I won’t have time for that at least in a few months. I’d be very happy, if someone else could catch the ball here. I know it’s not at all a trivial thing to do though.

Darn. I really don’t know what is going on there. Anyone?

Just thinking. Maybe we should use different base image for the addon docker image.

Hi, I have problem during install too.
I’m using a RPI3B+
I’m sorry because the integrated component does not work well and I hoped this could solve issues.
Thank you for work anyway.

Yeah. It is unfortunate. I don’t have ARM installation of Hassio so i really can’t play around with the installation. Anyways the installation is extremely simple and should work out of the box unless something has changed.

I’m planning to add support for A1 temperature sensor and MP2 power strip once I have time and maybe even spend some time in hacking MCB1 (no promises though), but for debugging the installation problem, help for some ARM-hacker is going to be needed.

Hi, I did some tests on my RPI and found what was missing, so I made a pull request:
https://github.com/rinne/broadlink-hub-hassio-addon/pull/3

But I have still problems with addon configuration. Do I have to provide a password_hash? And how do I generate it?

Maybe I found the problem: I had to set “password_hash” to “None” (without quotes) instead of “null” (without quotes).

Yes. If it’s “none”, then it means that password is cleartext. If it’s e.g. “sha256”, it means that passeword is SHA-256 hash of the actual password either in hexadecimal string or base64 string.

Can you access the addon directly from the browser?