Hi Tomer,
Do you know when you release new version BM for Win? I have the same issue with RM 3 mini. Do you check this issue as a bug?
Hi Tomer,
Do you know when you release new version BM for Win? I have the same issue with RM 3 mini. Do you check this issue as a bug?
Good Afternoon,
I have followed the link to TechBlog about installing Broadlink Manager on a Raspberry Pi. I was able to find my RM4 Pro(0x61a2). When I try and learn an RF code the webpage spits back that there was an Error while scanning, please try again. Looking at the command prompt, I see there is an issue with sweep_frequency. Any advice on how to proceed would be appreciated.
P.S. I also have issues trying to learn IR codes.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/flask/app.py", line 2309, in __call__
return self.wsgi_app(environ, start_response)
File "/usr/lib/python3/dist-packages/flask/app.py", line 2295, in wsgi_app
response = self.handle_exception(e)
File "/usr/local/lib/python3.7/dist-packages/flask_restful/__init__.py", line 272, in error_router
return original_handler(e)
File "/usr/lib/python3/dist-packages/flask/app.py", line 1741, in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python3/dist-packages/flask/_compat.py", line 35, in reraise
raise value
File "/usr/lib/python3/dist-packages/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "/usr/lib/python3/dist-packages/flask/app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.7/dist-packages/flask_restful/__init__.py", line 272, in error_router
return original_handler(e)
File "/usr/lib/python3/dist-packages/flask/app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/lib/python3/dist-packages/flask/_compat.py", line 35, in reraise
raise value
File "/usr/lib/python3/dist-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3/dist-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/opt/broadlinkmanager-docker/broadlinkmanager/broadlinkmanager.py", line 280, in sweep
dev.sweep_frequency()
AttributeError: 'device' object has no attribute 'sweep_frequency'
I met the same as you. sad
ứng dụng này không thể điều khiển RM mini 3 và RM 4 pro. cả 2 thiết bị mà tôi có. hic hic
"
I also encountered this same application which cannot control RM mini 3 and RM 4 pro. both of the devices that I have. understand like you. sad"
I Figured I had started my Journey in this thread so I may as well post the solution I am using. Keeping in mind my issues was getting the RM4 Pro RF learning and sending. I was working with Felipe Martins Diel (Broadlink RM4 PRO is not able to learn or to send RF Signal · Issue #358 · mjg59/python-broadlink · GitHub) who i believe has a fix however it is going to be a while till we see it production. So in the interim this is how I am using it.
Short Version
Ensure you have the latest HA (I am on 0.112.2) not sure which version brought in the first set of fixes
broadlink.setup(‘myssid’, ‘mynetworkpass’, 3)
./broadlink_cli --rfscanlearn --device “0x6026 [IPADDRESS] [MAC]”
script:
name_of_the_script:
sequence:
- service: broadlink.send
data:
host: [RM4 IP ADDRESS]
packet: sgAsAhEREhESEQIEhEBEhESERISERIRARIiEQESERISERESEhEAAF3AAAAAAAAA==
The Long Version
Installing python-broadlink
Use a device with wifi (so you can connect to the Production Wifi and RM4 AP)
git clone GitHub - mjg59/python-broadlink: Python module for controlling Broadlink RM2/3 (Pro) remote controls, A1 sensor platforms and SP2/3 smartplugs
cd python-broadlink
sudo python setup.py install
Factory Reset (Ensure it is not cloud joined)
Setup RM using python-broadlink
python import broadlink
broadlink.setup(‘myssid’, ‘mynetworkpass’, 3)
devices = broadlink.discover(timeout=5) devices[0].auth() > should return true devices[0].host[0]
Should return IP of Device
Capture RF sequences
NB Fix is underway for RM4 Pro broadlink.learn however not available in HA yet Broadlink RM4 PRO is not able to learn or to send RF Signal · Issue #358 · mjg59/python-broadlink · GitHub
Use broadlink_cli to capture RF codes
./broadlink_cli --rfscanlearn --device “0x6026 [IPADDRESS] [MAC]”
host: 192.168.1.13
packet: sTgaAAcQBxAHDwgIDhAHEAcPCA8HCA4IDgkOCQ7+AAAAA
Home Assistant Configuration
I am controlling fans so I have a bit more of a complex configuration for fan speed control sending sequence directly
Sending RF Sequences with scripts/automation
script:
name_of_the_script:
sequence:
- service: broadlink.send
data:
host: [RM4 IP ADDRESS]
packet: sgAsAhEREhESEQIEhEBEhESERISERIRARIiEQESERISERESEhEAAF3AAAAAAAAA==
Configuration.yaml Switch
switch:
- platform: broadlink
host: [RM4 IP ADDRESS]
mac: [RM4 MAC ADDRESS]
type: rm4_pro
timeout: 15
switches:
tv_samsung_power:
friendly_name: "Samsung TV Power"
command_on: '[RF SEQUENCE]'
tv_samsung_volume:
friendly_name: "Samsung TV Volume"
command_on: '[RF SEQUENCE]'
command_off: '[RF SEQUENCE]'
Thanks for the instructions!
I got to the point where I’m attempting to capture RF sequences using the broadlink_cli command, but it seems like I don’t have it installed properly or something.
I get the following error instead
File "<stdin>", line 1 ./broadlink_cli --rfscanlearn --device "0x6026 [IP] [MAC]" ^ SyntaxError: invalid syntax
I installed python-broadlink via PIP, but I’m not sure where the files actually are to verify if the cli directory is in there.
I also downloaded the broadlink_cli and broadlink_discovery files to manually copy them if necessary, but again, I’m not sure where they should go.
Would appreciate any help here. Thanks!
@quagmired given it is responding with a syntax error it sound to me like it is recognising the command just not the parameters being passed. So I think the install is ok.
Just to be clear [IP] needs to be your devices IP address and [MAC] needs to be the devices MAC address so the actual command I run is
./broadlink_cli --rfscanlearn --device “0x6026 192.168.1.13 24dfa7b9c05a”
At work at the moment so I can’t confirm the location my files installed to. However, hoping the above might help. Keep in mind wherever i use [CAPITALS] it generally means replace with your values.
can docker version be installed like add-ons?
how can I send rf signals (433 MHz) that are learned with another software? I have them as binary 65 bit code. https://github.com/akirjavainen/A-OK/blob/3c5ec0d6f38775aaa8aa69ff0819711a25360db5/A-OK.ino has the full description of the protocol
thank you for any help
@Tomer_Klein You absolute legend, your timing is impeccable. My RM4 Pro was delivered June 24. I learned the IR codes I wanted first with the HA method, but got stuck when trying the RF codes a week or so later. This is going to make my life so much easier.
At first I tried specifying port 7020 instead of using network host like @GorkyV, the web interface loaded but couldn’t detect my device. Recreated the image with host networking instead, it very quickly found the device and learned an RF code successfully in the web UI. Didn’t seem to have any of the issues described above after I actually RTFM.
While trying this, I had to clear the cache before the device would load; simply refreshing the page after adding host networking didn’t work. Watch out for caching issues if you’re having the same problem
Is there any possibility of adding more ports to get this working without host networking? I don’t understand Docker well enough to know why, but I thought it was preferable to avoid host networking where possible.
Thanks again for your amazing work Tomer, can’t wait to have the time to build up my RF integrations properly!
Thanks for the reply. Yea I used my device’s actual IP and MAC ID where the placeholders were, like this
./broadlink_cli --rfscanlearn --device “0x6026 192.168.1.98 24dfa7abc123”
I even tried replacing 0x6026 with 0x61a2 since init.py listed that as an RM4 Pro device too, but that didn’t work either.
Also tried updating/reinstalling python-broadlink with
pip install --upgrade https://github.com/mjg59/python-broadlink/archive/master.zip
Still got the same result.
Any ideas? Thanks again!
Not 100% sure what it might be when I look at the broadlink.egg-inf/PKG-INFO the version I appear to be running is
Name: broadlink
Version: 0.13.2
Summary: Python API for controlling Broadlink IR controllers
Home-page: http://github.com/mjg59/python-broadlink
Author: Matthew Garrett
Author-email: [email protected]
Just a thought … to be clear I am not running the ./broadlink_cli --rfscanlearn --device from within python. it is directly from the command line
Thanks again for taking the time to reply.
If it’s not too much trouble, could you walk me through that last part of where exactly to enter ./broadlink_cli --rfscanlearn --device
, after I’ve done the following steps?
OK, so my broadlink.egg-inf/PKG-INFO shows the following, so I’m guessing this part is fine.
Metadata-Version: 1.1
Name: broadlink
Version: 0.14.0
Summary: Python API for controlling Broadlink IR controllers
Home-page: http://github.com/mjg59/python-broadlink
Author: Matthew Garrett
Author-email: [email protected]
Then I open Windows PowerShell as administrator, type python
to enter Python 3.8.3, then the following commands just to make sure my RM4 Pro is on the network:
>>> import broadlink
>>> devices = broadlink.discover(timeout=5)
>>> devices[0].auth()
True
>>> devices[0].host[0]
192.168.1.98
Where should I go from here? I’ve attempted exiting Python and simply entering the ./broadlink_cli --rfscanlearn --device
command while still in PowerShell, but I get the following error instead:
PS C:\> ./broadlink_cli --rfscanlearn --device "0x6026 192.168.1.98 [MAC]"
./broadlink_cli : The term './broadlink_cli' is not recognized as the name of a cmdlet, function, script file, or
operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
again.
At line:1 char:1
+ ./broadlink_cli --rfscanlearn --device "0x6026 192.168.1.98 [MAC] ...
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (./broadlink_cli:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
I tried Windows Command Prompt instead and got similar:
'broadlink_cli' is not recognized as an internal or external command,
operable program or batch file.
So I’m at a loss as to where exactly should the command be entered… Would greatly appreciate any help here, thanks!
Another point I didn’t make … I am running it within the Raspbian command shell. I’ll try installing on my windows 10 box but I think it is likely the utility isn’t windows based. What device are you running HA on?
I did try running all the python stuff on windows 10 but ended up moving over to the Raspberry pi (that I have running HA (docker)). I was finding most examples and people were running using a Linux base and I was having all sorts of issues. Possibly a bit like what you are experiencing. In truth I don’t have a 100% grasp on all of this , work in progress.
I did try this now on my Windows 10 box and it appears to be positive
c:\>cd temp\python-broadlink-master\cli
c:\Temp\python-broadlink-master\cli>pip3 install broadlink
c:\Temp\python-broadlink-master\cli>python3 broadlink_cli --rfscanlearn --device "0x6026 192.168.1.13 24dfa7b9c05a"
broadlink.exceptions.DeviceOfflineError: The device is offline
Steps that I used on the pi are bellow
Config SSH on PI
Connect via SSH (I use putty)
Install Braodlink
git clone https://github.com/mjg59/python-broadlink.git
cd python-broadlink
sudo python setup.py install
then to run broadlink_cli
$ cd \python-broadlink\cli
$ ./broadlink_cli --rfscanlearn --device "0x6026 192.168.1.13 24dfa7b9c05a"
Perfect work!
Thanks a lot!
Thank you so much! The detailed steps you provided finally got it working for me.
Was able to capture RF codes from my remote control fine using the Windows method.
Unfortunately it looks like my remote uses rolling RF codes that are incompatible with the RM4, but thanks very for taking the time to help! Much appreciated.
So is there a solution for “Writing compatible device not detected!” with RM mini 3 ?
Never mind, despite the Broadlink Manager not working the HA is ! I can have it to learn commands via remote.learn_command and send it via remote.send_command… I wonder how to make switches from it now
Hav you tried the Docker Version?
No did not try that, I might do integration into unraid so its available in “apps” there.