Giter Club home page Giter Club logo

blackbeancontrol's People

Contributors

davorf avatar merlokk avatar renehezser avatar walkention avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blackbeancontrol's Issues

sample data?

can you give a little description how the dummy and other data must look like?

Python SyntaxError - BlackBeanControl.py - line 197

From https://github.com/mjg59/python-broadlink
python-broadlink 0.17.0 - Installation & Discovering test Works properly

INSTALL

user@openhab-vm:/home/openhab/python-broadlink$ sudo python setup.py install
running install
running bdist_egg
running egg_info
writing broadlink.egg-info/PKG-INFO
writing dependency_links to broadlink.egg-info/dependency_links.txt
writing requirements to broadlink.egg-info/requires.txt
writing top-level names to broadlink.egg-info/top_level.txt
reading manifest file 'broadlink.egg-info/SOURCES.txt'
writing manifest file 'broadlink.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/lib
creating build/lib/broadlink
copying broadlink/sensor.py -> build/lib/broadlink
copying broadlink/helpers.py -> build/lib/broadlink
copying broadlink/cover.py -> build/lib/broadlink
copying broadlink/light.py -> build/lib/broadlink
copying broadlink/remote.py -> build/lib/broadlink
copying broadlink/switch.py -> build/lib/broadlink
copying broadlink/protocol.py -> build/lib/broadlink
copying broadlink/init.py -> build/lib/broadlink
copying broadlink/exceptions.py -> build/lib/broadlink
copying broadlink/climate.py -> build/lib/broadlink
copying broadlink/alarm.py -> build/lib/broadlink
copying broadlink/device.py -> build/lib/broadlink
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/broadlink
copying build/lib/broadlink/sensor.py -> build/bdist.linux-x86_64/egg/broadlink
copying build/lib/broadlink/helpers.py -> build/bdist.linux-x86_64/egg/broadlink
copying build/lib/broadlink/cover.py -> build/bdist.linux-x86_64/egg/broadlink
copying build/lib/broadlink/light.py -> build/bdist.linux-x86_64/egg/broadlink
copying build/lib/broadlink/remote.py -> build/bdist.linux-x86_64/egg/broadlink
copying build/lib/broadlink/switch.py -> build/bdist.linux-x86_64/egg/broadlink
copying build/lib/broadlink/protocol.py -> build/bdist.linux-x86_64/egg/broadlink
copying build/lib/broadlink/init.py -> build/bdist.linux-x86_64/egg/broadlink
copying build/lib/broadlink/exceptions.py -> build/bdist.linux-x86_64/egg/broadlink
copying build/lib/broadlink/climate.py -> build/bdist.linux-x86_64/egg/broadlink
copying build/lib/broadlink/alarm.py -> build/bdist.linux-x86_64/egg/broadlink
copying build/lib/broadlink/device.py -> build/bdist.linux-x86_64/egg/broadlink
byte-compiling build/bdist.linux-x86_64/egg/broadlink/sensor.py to sensor.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/broadlink/helpers.py to helpers.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/broadlink/cover.py to cover.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/broadlink/light.py to light.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/broadlink/remote.py to remote.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/broadlink/switch.py to switch.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/broadlink/protocol.py to protocol.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/broadlink/init.py to init.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/broadlink/exceptions.py to exceptions.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/broadlink/climate.py to climate.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/broadlink/alarm.py to alarm.cpython-39.pyc
byte-compiling build/bdist.linux-x86_64/egg/broadlink/device.py to device.cpython-39.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying broadlink.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying broadlink.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying broadlink.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying broadlink.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying broadlink.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying broadlink.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
creating 'dist/broadlink-0.17.0-py3.9.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing broadlink-0.17.0-py3.9.egg
removing '/usr/local/lib/python3.9/dist-packages/broadlink-0.17.0-py3.9.egg' (and everything under it)
creating /usr/local/lib/python3.9/dist-packages/broadlink-0.17.0-py3.9.egg
Extracting broadlink-0.17.0-py3.9.egg to /usr/local/lib/python3.9/dist-packages
broadlink 0.17.0 is already the active version in easy-install.pth

Installed /usr/local/lib/python3.9/dist-packages/broadlink-0.17.0-py3.9.egg
Processing dependencies for broadlink==0.17.0
Searching for cryptography==3.2
Best match: cryptography 3.2
Adding cryptography 3.2 to easy-install.pth file

Using /usr/local/lib/python3.9/dist-packages
Searching for six==1.16.0
Best match: six 1.16.0
Adding six 1.16.0 to easy-install.pth file

Using /usr/lib/python3/dist-packages
Searching for cffi==1.15.0rc2
Best match: cffi 1.15.0rc2
Processing cffi-1.15.0rc2-py3.9-linux-x86_64.egg
cffi 1.15.0rc2 is already the active version in easy-install.pth

Using /usr/local/lib/python3.9/dist-packages/cffi-1.15.0rc2-py3.9-linux-x86_64.egg
Searching for pycparser==2.20
Best match: pycparser 2.20
Processing pycparser-2.20-py3.9.egg
pycparser 2.20 is already the active version in easy-install.pth

Using /usr/local/lib/python3.9/dist-packages/pycparser-2.20-py3.9.egg
Finished processing dependencies for broadlink==0.17.0

TEST

user@openhab-vm:/home/openhab/python-broadlink/cli$ python broadlink_discovery --timeout 10 --dst-ip 10.0.30.99
Discovering...
###########################################
RMPRO

broadlink_cli --type 0x279d --host 10.0.30.99 --mac 780f77XXXXXX

Device file data (to be used with --device @filename in broadlink_cli) :
0x279d 10.0.30.99 780f77XXXXXX
temperature = 0.0

user@openhab-vm:/home/openhab/python-broadlink/cli$ python3 broadlink_discovery --timeout 10 --dst-ip 10.0.30.99
Discovering...
###########################################
RMPRO

broadlink_cli --type 0x279d --host 10.0.30.99 --mac 780f77XXXXXX

Device file data (to be used with --device @filename in broadlink_cli) :
0x279d 10.0.30.99 780f77XXXXXX
temperature = 0.0

BlackBeanControl part :

user@openhab-vm:/home/openhab/BlackBeanControl$ python BlackBeanControl.py -c stb_power
File "/home/openhab/BlackBeanControl/BlackBeanControl.py", line 197
if (len(SentCommand) <> 8) or (not all(c in string.hexdigits for c in SentCommand)):
^
SyntaxError: invalid syntax

user@openhab-vm:/home/openhab/BlackBeanControl$ python2 BlackBeanControl.py -c stb_power
Traceback (most recent call last):
File "BlackBeanControl.py", line 3, in
import broadlink, configparser
File "/usr/local/lib/python2.7/dist-packages/broadlink-0.17.0-py2.7.egg/broadlink/init.py", line 114
dev_type: int,
^
SyntaxError: invalid syntax

Out of curiosity, I even tried python3 :)

user@openhab-vm:/home/openhab/BlackBeanControl$ python3 BlackBeanControl.py -c stb_power
File "/home/openhab/BlackBeanControl/BlackBeanControl.py", line 197
if (len(SentCommand) <> 8) or (not all(c in string.hexdigits for c in SentCommand)):
^
SyntaxError: invalid syntax

Now it is not clear to me whether I may have a conflict that originates from the installation of python-broadlink or the causes are in the BlackBeanControl libraries themselves or somewhere else :(

I would ask for a hint or advice on where I stumbled over :)

Thx

MP1

Hi!

I see python-broadlink now supports MP1, will your script work with it as well?

Cannot send a pre-learned command on one device to another device

It seems as though if I have learned a command on one device it can't be sent to another device. It doesn't put the other device in learning mode and no error is thrown.

If I use the python-broadlink package directly I can learn a command on one and send it to both devices.

Here's the sample code I'm using to learn a command using python-broadlink:

#!/usr/bin/python

import broadlink
import time

print "discover"
devices = broadlink.discover(timeout=5)
device = devices[1]
device.auth()
print "enter_learning"
device.enter_learning()
print "sleep"
time.sleep(5)
print "check data"
ir_packet = device.check_data()
print str(ir_packet).encode('hex')

I'm taking the output from a learned command and putting it into this script to send it to both devices:

#!/usr/bin/python

import broadlink
import time

hex_ir_packet = "260070004f13141327141314141328131314141328131314131414131500035f4e14141328121513131428131314131427141413131414131400035e4f14141328131413141328131413141327141413141315121500035f4e141413271315131413281314131413271414131314141314000d050000000000000000"
ir_packet = hex_ir_packet.decode('hex')

print "discover"
devices = broadlink.discover(timeout=5)
device = devices[0]
device.auth()
print "Send command to device 1"
device.send_data(ir_packet)
print "wait"
time.sleep(2)
device = devices[1]
device.auth()
print "Send command to device 2"
device.send_data(ir_packet)

It looks as though in your package the learned command has four bytes of zero padding added, is decrypted using the device auth key, and then stored in the BlackBeanControl.ini file. Perhaps the decrypting the packet with the device key makes it unable to be re-encrypted with a different device key.

This functionality may be by design to prevent a command learned on once device to be sent to another, but it might be nice to broadcast the same command to a different device/room by learning it once on another device.

I forked this packaged and was going to try and rewrite the code for learning and sending commands. I would try to write the commands as encoded hex and make a way to migrate codes from the old to the new format so they don't have to be re-learned again.

Let me know what you think.

Thanks for building this package! It's working great with my Alexa integration code that I am planning on releasing here soon! :-)

No module named broadlink

Hi,
I set BlackBean on Raspberry and I am trying to record my first command and I get this error:

[20:58:12] openhabian@openHABianPi:/usr/BroadLink/BlackBeanControl$ python BlackBeanControl.py -c SwitchTV

Traceback (most recent call last):
  File "BlackBeanControl.py", line 3, in <module>
    import broadlink, configparser
ImportError: No module named broadlink

Can't send IR command

Hello,
I've tried your script but I can't make it work.
I've got the HexDump of dummy command set and one to turn on my TV.
But when I launch the script nothing happen.
No error either.
Current version of my BlackBean is: v20027
Android App version is: v3.7.1-1.1.9

I've used tPacketCapture on my phone to get UDP trame then open on my laptop with Wireshark.
Filter on ip.dst == MyBroadLinkIP
Get the Payload line and right click -> Copy -> As Hex stream
Store them in config file.
Launch the script:

python BlackBeanControl.py -c TVOnOff

My config file:

[General]
IPAddress: 192.168.1.33
Port: 80
DummyCommand: 55000000000000000000000000000000000000000000000000c3f6000037276a00f981b223cc0d43b4010000009ac700009e377af457090de5cf45632a221b56b340f2efea2586cec30b352f04
2d4e1e4c58742449b3a2c5763b4fdcdeb906774db6bc37e35f395423feade09951a4475823253976cac26e78c27cdd9c6099edff6fa1c0efded4cfb0a04a2f130f481346

[Commands]
TVOnOff: 55000000000000000000000000000000000000000000000000471c000037276a003980b223cc0d43b401000000cecf00003ecf1a1d530171c910f60ccf365b0479dfc6006e829d2a6d870ea51b3bd04
60a7a2e2da9dc37f60a65b6e76c8c33dc42958b6733215b88382b08aa51154b9f071f67d424a5aa9f52f962adf666cf922469d8dab253c6ad9600b176bf6dab9a9efbe48cd57a25a13fc6c91e85c1a0726873140
c336bd4033a4f791dc8a3bd6f80444728137fde20958e1f066652dd73b345fef0bc36a58f9f4dae819f75815eebb62a54db65d7e4bdb63f56eac186da4e

Thank you.

Any way to forward the received IR commands?

First, thanks for this great job!

Now, my question:
Iโ€™m using Broadlink to send IR commands from my Openhab and works great!
Best would be if we can forward the Received IR commands from Broadlink to Openhab.
That option would be amazing to open a new way to interact with home doing thinks like turning lights with unused remote tv buttons (just a small sample).
Thanks

line 3, in import broadlink, configparser

I have set it up on my raspberry pi 3 and it was working without issues. Suddenly it stopped working and i am getting the following error when i run the command.

/usr/bin/python2 /usr/share/openhab2/exec/BlackBeanControl/BlackBeanControl.py -c FANON
Traceback (most recent call last):
File "/usr/share/openhab2/exec/BlackBeanControl/BlackBeanControl.py", line 3, in
import broadlink, configparser
File "/usr/local/lib/python2.7/dist-packages/broadlink-0.9-py2.7.egg/broadlink/init.py", line 5, in
from Crypto.Cipher import AES
File "/usr/local/lib/python2.7/dist-packages/pycryptodome-3.4.11-py2.7-linux-armv7l.egg/Crypto/Cipher/init.py", line 7, in
from Crypto.Cipher._mode_ctr import _create_ctr_cipher
File "/usr/local/lib/python2.7/dist-packages/pycryptodome-3.4.11-py2.7-linux-armv7l.egg/Crypto/Cipher/_mode_ctr.py", line 35, in
from Crypto.Util.number import long_to_bytes
ValueError: bad marshal data (unknown type code)

If I use python3 i get the following error

[21:23:53] openhabian@openHABianPi:/usr/share/openhab2/exec/BlackBeanControl$ sudo python3 BlackBeanControl.py -c FANON File "BlackBeanControl.py", line 197
if (len(SentCommand) <> 8) or (not all(c in string.hexdigits for c in SentCommand)):
^
SyntaxError: invalid syntax

please update on pypi

I think the pip-install version 0.11.1 is outdated, unable to discover my broadlink ir remote (black bean). the this git-cloned version can discover it

How do I send IR commands?

Hi there,
Probably a stupid question, but how do you send IR commands?
The readme only seems to evolve around getting IR commands in the database (.ini file)...
Maybe good to add to the Read.me?

AC control

This is not an issue, but rather than a feature request: is there any way to send complex commands like controlling an AC? In default Broadlink app it is possible.

1, fan speed (low, med, high)
2, mode (heating, cooling, drying, etc)
3, temperature
4, on/off

...as one command.

All suggestions are welcomed.

Trying to reuse BlackBeanControl.ini

I initially set this up on an RPi3 and got everything rolling. I decided to move it to my Mac instead, for easier execution from my home automation software.

Setup went without a problem into a virtualenv environment. Since I'm using the same RM3 and it's still on the LAN, I copied the BlackBeanControl.ini file over from the Pi since I had already set up everything, including a bunch of commands. Here's what I'm getting:

BlackBean) MacMini:BlackBeanControl Me$ python BlackBeanControl.py -c SignalTreeMainBulbsBlue -d RM3SignalTree
Traceback (most recent call last):
  File "BlackBeanControl.py", line 166, in <module>
    AESEncryption = AES.new(str(RM3Key), AES.MODE_CBC, str(RM3IV))
  File "/Users/Me/MyVenv/BlackBean/lib/python3.5/site-packages/Crypto/Cipher/AES.py", line 95, in new
    return AESCipher(key, *args, **kwargs)
  File "/Users/Me/MyVenv/BlackBean/lib/python3.5/site-packages/Crypto/Cipher/AES.py", line 59, in __init__
    blockalgo.BlockAlgo.__init__(self, _AES, key, *args, **kwargs)
  File "/Users/Me/MyVenv/BlackBean/lib/python3.5/site-packages/Crypto/Cipher/blockalgo.py", line 141, in __init__
    self._cipher = factory.new(key, *args, **kwargs)
ValueError: IV must be 16 bytes long

PyCrypto issue?

Can't replicate Dish TV remote

This is more of a support issue (or maybe a desperate cry for help) than a bug since this script is working exactly like the official Android APK. What is weird though is that the Android APK has a built-in remote for Dish that works fine. However, the remote is basically labelled in Chinese and it won't let edit it. I also want to make a custom remote with the volume keys from a Logitech surround system (the TV and DishTV volume controls do nothing). Naturally, the app lets you create a remote and "learn" the keys. The keys learn fine, but don't work when played back!

The built-in remote works just fine, but I can't duplicate it. Commands are being recorded, as shown here:

GUIDE = 26009c010ec90f5c0e360e5c0f350f5c0f5b0f5c0f5a105c0f5c0e5c0f5c0e5c0f5c0f5c0e5c0fca0e5c0f350f5c0e360f5c0e5c0f5c0e5c0f5c0e5c0f5c0f5c0e5c0f5c0e5c0f5b0fca0e5d0e360f5c0e360d5d0f5c0e5c0f5c0f5c0e5c0f5c0e5a105d0e5c0e5d0e5d12c60e5d0e360e5c0f350f5c0f5c0e5c0f5c0e5c0f5c0e5c0f5c0e5d0e5c0f5c0e5c0fca0e5c0f350f5c0e360f5c0e5c0f5c0e5c0f5c0e5d0e5c0e5d0e5c0e5d0e5c0f5c0eca0f5c0e360f5c0d370e5c0f5c0e5c0f5c0f5c0e5c0f5c0e5c0f5c0e5c0f5c0e5d0eca0e5d0e360e5c0f350f5c0f5c0e5c0f5c0e5c0f5c0e5c0f5c0e5d0e5c0f5c0e5c0fca0e5c0f350f5c0e360f5c0e5c0f5c0e5c0f5c0e5c0f5c0f5c0e5c0f5c13570f5c0eca0f5c0e360f5c0e360e5c0f5c0e5d0e5c0f5c0e5c0f5c0e5c0f5c0e5c0f5c0e5d0eca0f5c0e360e5c0e370e5c0f5c0d5d0f5c0d5d0e5d0e5c0e5d115a0d5d0e5d0d5d0ecb0d5d0e360e5d0e360e5d0d5d0e5d0e5c0e5d0e5d0d5d0e5d0d5d0e5d0d5d0e5d0eca0e5d0e360d5e0d370d5d0d5e0d5e0c5e0d5e0d5d0d5e0d5d0d5e0d5d0d5e0d5e0d000d05000000000000000000000000
CANCEL = 260014010fc80f5c0f350f5c0e5c0f360e5c0f5c0e5c0f5c0e5c0f5c0e5c0f5c0f5c0e5c0f5c0eca0f5c0e360f5b0f5c0f350f5c0e5c0f5c0e5c0f5c0f5c0e5c0f5c0e5c0f5c0e5c0fca0e5c0f360e5c0f5c0e360e5c0f59125b0f5c0f5c0e5c0f5c0e5c0f5c0f5b0f5c0fc90f5c0f350f5c0e5c0f360e5c0f5c0e5c0f5c0e5c0f5c0f5b0f5c0f5c0e5c0f5c0eca0f5c0e360f5b0f5c0f350f5c0e5c0f5c0e5c0f5c0f5c0e5c0f5c0e5c0f5c0e5c0fca0e5c0f360e5c0f5c0e360e5c0f5c0f5c0e5c0f5c0e5c0f5c0e5c0f5c0f5b0f5c0fc90f5c0f350f5c0e5c0f360e5c0f5c0e5c0f5c0e5c0f5c0f5b0f5c0f5c0e5c0f5c0eca0f5c0e360f5b0f5c0f350f5c0e5c0f5c0f5b0f5c0f5c0e5c0f5c0e5c0f5c0e5c0f000d0500000000

but those commands look a bit long in the tooth! It looks like the Android app is storing in a database format. Should I grab some pcap files and wireshark it?

But ... thank you SOO much for all the work that has been done on this. The best thing about buying cheap crap from China is that it's cheap enough that someone else has probably already bought one just to play with it and reverse engineer it. The expensive stuff is purchased by people that don't take things apart!

Can't learn Dish Remote

I don't know how I missed your comments on issue #14, but I can not learn that remote with the script nor the original app. I think that is why the original app has that remote as a built-in.

Any idea how to proceed? What if I get you network dumps of the original/working app remote in use. Could you make a config based on that?

Can anyone help me

I'm not completely non-technical, but I'm a bit out of my depth with this. I'm trying to install on windows 64 bit system. I've installed the python compiler, but I don't know how to install the 'dependencies' or where to put things in my folders for it to work. What I'm trying to do is send commands to my RM3 from the windows command line.

If anyone can help me, my email address is [email protected]

many thanks in advance!

New Errors

Hello!

I have been using this tool perfectly for several months but I am suddenly getting the error:

Church-Server:~ churchserver$ python /Users/churchserver/python-broadlink/BlackBeanControl/BlackBeanControl.py -c PowerToshiba Traceback (most recent call last): File "/Users/churchserver/python-broadlink/BlackBeanControl/BlackBeanControl.py", line 3, in <module> import broadlink, configparser

Learned commands from different buttons results in the same ID

I'm using the model MR3 which correctly switch in the learning mode when sending a new command not listed yet. Learning from different buttons and different devices produce always the same ID, here my BlackBeanControl.ini Commands section.
Of course the commands does not work at all.
Any clue?

[Commands]
TVON = ee8a70f9347859db4ff49836d97c8a261bce63b6826b2102f7e36067
TVMUTE = ee8a70f9347859db4ff49836d97c8a261bce63b6826b2102f7e36067
ACON = ee8a70f9347859db4ff49836d97c8a261bce63b6826b2102f7e36067
ACOFF = ee8a70f9347859db4ff49836d97c8a261bce63b6826b2102f7e36067

Traceback Error

Hello!

Firstly, your documentation and plugin is great! I am using it in conjunction with Homebridge so I can control the RM3 via Siri which is excellent.

My RM3 controls my Amp, TV and AppleTV - however when a command is sent my AppleTV (long menu hold) I get this error:

bash-3.2# python /Users/churchserver/python-broadlink/BlackBeanControl/BlackBeanControl.py -c WakeATV
Traceback (most recent call last):
  File "/Users/churchserver/python-broadlink/BlackBeanControl/BlackBeanControl.py", line 170, in <module>
    RM3Device.send_data(FinalCommand)
  File "/Library/Python/2.7/site-packages/broadlink-0.2-py2.7.egg/broadlink/__init__.py", line 376, in send_data
    self.send_packet(0x6a, packet)
  File "/Library/Python/2.7/site-packages/broadlink-0.2-py2.7.egg/broadlink/__init__.py", line 235, in send_packet
    response = self.cs.recvfrom(1024)
socket.timeout: timed out
bash-3.2# 

The command is sent, and the AppleTV responds. This doesn't to happen with other two devices. My ini file looks like this:

[General]
IPAddress = 192.168.1.204
Port = 80
MACAddress = B4:43:0D:FB:FD:A5
Timeout = 10

[Commands]
PowerAmplifier = 7f40ecac678f67dd9c236cebdc0c69be999fd7f85ee1f585d9ddf18e6d609b49580bc3b8db12a976b76ce74ea4c452670e5aa4ad7f54732caff046ae144a59a392075805c902c25aa6a0d53d9336a54fca2ba6bea0695905cd97ff02be79ae2a2bf39829d033aa0ec8ac456cee5041af
PowerToshiba = 78cbb8bf2d6b795f8f80e1085fe32f52378d0a5bc4ee135d9865dc4dd5c16c91685d24add25dc56dae6c2f2112f2956cedb3f1a100359e3ee811e7d68fd5337d
WakeATV = dc4b1cdf001be54b732ab8b0196a123f8d84eb3ae0e2600882db488a88ff882214e90b59b6b6928dcc5824090228aea6725faca794ead38367d7327065c4a0d746277dd6ff71b80c00102f93d31241f7c94f935a8a25fa7b58c5ebbe4f4a28179bbbbae751f5c9b4802a485351485b4a8c5e1901f18511606c7938850e93965f42935defb43deb6c2a01ae2bb4e94600429352efb43deb6f2a01a12bb4e94600a01ec92be7264b08bdccc80d4ba3405120cee09d1511fa9e91fc1267b2460464dcef51f0e192c11361543385b8aea0ba20cee09d1311fa9c91fc1260b7460466cf73ceb7fde6f18e8d0286664b33ef94440bbf0dcb0000cfd42e768b5b683d825d1f45815e9658249ecb90c62d2be8f132a85ea226f2b3714d86e7f15913ce48391515e372193047c21c43ff9f15e8d3
MuteTV = 278c739e7f03d9e997bc71d8d437130839d7402131e9f435d9b2615def7d24e431a578bd2e14e9b78dc2aeeb6e6eed87d81da3275d17c83af77b3d3976add06c055a22efd9917563446ef34719bfebc137eea49ef8e90464f838418247cfe7673fbdc7993c91a1be0447953ce536105bd5a3bdfcf593374795096ab8e2bc8e9b
MuteAmp = bff374eea689a8410c63b62d11ca9ba828029c1520ae83878a3801d4f15884abd85d0c2d873609a8a96f98f5afcdb1f43da128eca44efc05c5f9b5e943aff76629d38507e366ba0364bc7162956b4e5a19020c40be2c2819630d4ef135b0cae7

This does not disrupt my usage, but it is just a bit confusing why the error appears.

Thanks,

Sam

Tautulli Scripts

Hey there,

More a question then a issue. I want to use Tautulli to run a script to close some blinds when a movie starts.

I have the devices set up in the IHC application. would this software be able to do this? Is there a template to get an idea of how to create the script?

Thanks so much

Thanks for the BlackBeanControl :) / Are there more insights about the need for the dummy command?

Hi, I've been using your python script recently and I was able to successfully send commands to the RM Mini 3 and have them executed.

While working on this I was wondering if you made additional progress regarding the need to send a dummy command before every real command?

When capturing the traffic to the RM Mini there's no additional (other than the 'command') packet going directly to the RM and I was hoping we could get around having to send the dummy command to keep the RM responding.

Best regards, Alex

Multiple commands

How do you send multiple commands in sequence without making multiple calls of the software?

Thanks.

Pronto Hex

#Hi,
This is not an "issue", cause BlackBeanControl works just fine.
I was wondering how to make the BlackBeanControl to send a Pronto Hex signal like the below:
0000 006d 0022 0002 0157 00ac 0015 0016 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0041 0015 0041 0015 0041 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0041 0015 0041 0015 0016 0015 0041 0015 0016 0015 0041 0015 0041 0015 0041 0015 0016 0015 0016 0015 0689 0157 0056 0015 0e94
I tried but it responds with error about the number of digits. Is there any way to convert this so BlackBeanControl would send it?

Not entering learning mode...

When running the script, I always get this error:

-bash: BlackBeanControl.ini: command not found

There is no indication that the RM3Mini ever enters learning mode, however, and there is never any change made to the .ini file.

What am I missing?

Thx!

Slow response

Hello!
Is it normal that response time is slow? After issuing command TV respond after 3secs, while my real remote respond instantly.

Argument missing at line 167

Hello.. It looks like you have error at line 167..
RM3Device = broadlink.rm((RealIPAddress, RealPort), RealMACAddress)
TypeError: init() takes exactly 4 arguments (3 given)

After adding "RealTimeout" as 4th argument it is working just fine...

Send command error

Hello,
I'm can successfuly learn any command but
When I try to send command command , I'm receiving the following issue:


Traceback (most recent call last):
File "./BlackBeanControl.py", line 232, in
RM3Device.send_data(DecodedCommand)
File "/usr/local/lib/python2.7/dist-packages/broadlink/init.py", line 560, in send_data
self.send_packet(0x6a, packet)
File "/usr/local/lib/python2.7/dist-packages/broadlink/init.py", line 305, in send_packet
response = self.cs.recvfrom(2048)
socket.timeout: timed out


This is My BlackBeanControl.ini


[General]
IPAddress = 192.168.1.17
Port = 80
MACAddress = B4:43:0D:xx:xx:xx
Timeout = 5

[Commands]
TV_VOL_UP = 2600600000012692131114121311141213111313121114371410141015111312133612371337141112371337133614111511121312371237131213111510133
714351337141212111300059b0001284914000c440001274813000c430001284914000d050000000000000000
TVPower = 2600320174380e0e0f2b0f0d0f0e100c0f0f0d0f100c0f0e0e0e0f0e0f0f0c100e2a0e0e0f0e0f0e0e0e0f0e0e0f0e0e0f0e0e0f0d2b0e0f0e0f0e0f0d100d0f0
d0e100e0d100d2c0d0e0f2c0d2a0f2b0f2a0e0e0f0e0


Thanks in Advance

support form RF

Hi all,
thanks you very much for the IR support!!!
Do you planify do same for RF ?

thanks

Auth failure with 2nd RM3 Mini

I have BlackBeanControl working for a few weeks now on an RM3 mini (device I purchased over a year ago). Today I attempted to add a second RM3 mini in another room (Just purchased this one from Amazon, more than a year newer than the other). I added a new device section to the .ini file but I cannot get past an auth failure with the new RM3. Nothing I've tried works and I'm stuck. Am I missing something? Is it possible that the authentication key has changed in the firmware?

Traceback (most recent call last):
  File "./BlackBeanControl.py", line 168, in <module>
    RM3Device.auth()
  File "/usr/local/lib/python2.7/dist-packages/broadlink-0.14.1-py2.7.egg/broadlink/__init__.py", line 271, in auth
    check_error(response[0x22:0x24])
  File "/usr/local/lib/python2.7/dist-packages/broadlink-0.14.1-py2.7.egg/broadlink/exceptions.py", line 97, in check_error
    raise exception(error_code)
broadlink.exceptions.AuthenticationError: Authentication failed

The working device has firmware version "v57", but the failing device has firmware version "v44057".

Thanks!

How to import commands from an existing configuration

Hi,
In the RMPRO mobile app, there are options to search for remote and add it to your configuration. In such a case, if I use a remote imported from the app, can I generate the command section by any automatic way?
Regards,
Vijay

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.