mirror of
https://github.com/mjg59/python-broadlink.git
synced 2024-11-21 22:51:41 +01:00
Improve the CLI (#555)
* Add check humidity option * Rename type to devtype * Remove unnecessary try except clause * Add commands to README.md
This commit is contained in:
parent
822b3c3266
commit
d45c9d0850
119
cli/README.md
119
cli/README.md
@ -1,37 +1,29 @@
|
||||
Command line interface for python-broadlink
|
||||
===========================================
|
||||
|
||||
This is a command line interface for broadlink python library
|
||||
|
||||
Tested with BroadLink RMPRO / RM2
|
||||
This is a command line interface for the python-broadlink API.
|
||||
|
||||
|
||||
Requirements
|
||||
------------
|
||||
You should have the broadlink python installed, this can be made in many linux distributions using :
|
||||
You need to install the module first:
|
||||
```
|
||||
sudo pip install broadlink
|
||||
pip3 install broadlink
|
||||
```
|
||||
|
||||
Installation
|
||||
-----------
|
||||
Just copy this files
|
||||
Download "broadlink_cli" and "broadlink_discovery".
|
||||
|
||||
|
||||
Programs
|
||||
--------
|
||||
* broadlink_discovery: Discover Broadlink devices connected to the local network.
|
||||
|
||||
* broadlink_cli: Send commands and query the Broadlink device.
|
||||
|
||||
|
||||
* broadlink_discovery
|
||||
used to run the discovery in the network
|
||||
this program withh show the command line parameters to be used with
|
||||
broadlink_cli to select broadlink device
|
||||
|
||||
* broadlink_cli
|
||||
used to send commands and query the broadlink device
|
||||
|
||||
|
||||
device specification formats
|
||||
Device specification formats
|
||||
----------------------------
|
||||
|
||||
Using separate parameters for each information:
|
||||
@ -48,38 +40,99 @@ Using file with parameters:
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --temp
|
||||
```
|
||||
This is prefered as the configuration is stored in file and you can change
|
||||
just a file to point to a different hardware
|
||||
This is prefered as the configuration is stored in a file and you can change
|
||||
it later to point to a different device.
|
||||
|
||||
Sample usage
|
||||
------------
|
||||
Example usage
|
||||
-------------
|
||||
|
||||
Learn commands :
|
||||
### Common commands
|
||||
|
||||
#### Join device to the Wi-Fi network
|
||||
```
|
||||
broadlink_cli --joinwifi SSID PASSWORD
|
||||
```
|
||||
|
||||
#### Discover devices connected to the local network
|
||||
```
|
||||
broadlink_discovery
|
||||
```
|
||||
|
||||
### Universal remotes
|
||||
|
||||
#### Learn IR code and show at console
|
||||
```
|
||||
# Learn and save to file
|
||||
broadlink_cli --device @BEDROOM.device --learnfile LG-TV.power
|
||||
# LEard and show at console
|
||||
broadlink_cli --device @BEDROOM.device --learn
|
||||
```
|
||||
|
||||
#### Learn RF code and show at console
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --rfscanlearn
|
||||
```
|
||||
|
||||
Send command :
|
||||
#### Learn IR code and save to file
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --learnfile LG-TV.power
|
||||
```
|
||||
|
||||
#### Learn RF code and save to file
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --rfscanlearn --learnfile LG-TV.power
|
||||
```
|
||||
|
||||
#### Send code
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --send DATA
|
||||
```
|
||||
|
||||
#### Send code from file
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --send @LG-TV.power
|
||||
broadlink_cli --device @BEDROOM.device --send ....datafromlearncommand...
|
||||
```
|
||||
|
||||
Get Temperature :
|
||||
#### Check temperature
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --temperature
|
||||
```
|
||||
|
||||
Get Energy Consumption (For a SmartPlug) :
|
||||
#### Check humidity
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --temperature
|
||||
```
|
||||
|
||||
### Smart plugs
|
||||
|
||||
#### Turn on
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --turnon
|
||||
```
|
||||
|
||||
#### Turn off
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --turnoff
|
||||
```
|
||||
|
||||
#### Turn on nightlight
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --turnnlon
|
||||
```
|
||||
|
||||
#### Turn off nightlight
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --turnnloff
|
||||
```
|
||||
|
||||
#### Check power state
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --check
|
||||
```
|
||||
|
||||
#### Check nightlight state
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --checknl
|
||||
```
|
||||
|
||||
#### Check power consumption
|
||||
```
|
||||
broadlink_cli --device @BEDROOM.device --energy
|
||||
```
|
||||
|
||||
Once joined to the Broadlink provisioning Wi-Fi, configure it with your Wi-Fi details:
|
||||
```
|
||||
broadlink_cli --joinwifi MySSID MyWifiPassword
|
||||
```
|
||||
|
@ -70,6 +70,7 @@ parser.add_argument("--type", type=auto_int, default=0x2712, help="type of devic
|
||||
parser.add_argument("--host", help="host address")
|
||||
parser.add_argument("--mac", help="mac address (hex reverse), as used by python-broadlink library")
|
||||
parser.add_argument("--temperature", action="store_true", help="request temperature from device")
|
||||
parser.add_argument("--humidity", action="store_true", help="request humidity from device")
|
||||
parser.add_argument("--energy", action="store_true", help="request energy consumption from device")
|
||||
parser.add_argument("--check", action="store_true", help="check current power state")
|
||||
parser.add_argument("--checknl", action="store_true", help="check current nightlight state")
|
||||
@ -92,16 +93,16 @@ args = parser.parse_args()
|
||||
|
||||
if args.device:
|
||||
values = args.device.split()
|
||||
type = int(values[0], 0)
|
||||
devtype = int(values[0], 0)
|
||||
host = values[1]
|
||||
mac = bytearray.fromhex(values[2])
|
||||
elif args.mac:
|
||||
type = args.type
|
||||
devtype = args.type
|
||||
host = args.host
|
||||
mac = bytearray.fromhex(args.mac)
|
||||
|
||||
if args.host or args.device:
|
||||
dev = broadlink.gendevice(type, (host, 80), mac)
|
||||
dev = broadlink.gendevice(devtype, (host, 80), mac)
|
||||
dev.auth()
|
||||
|
||||
if args.joinwifi:
|
||||
@ -113,14 +114,12 @@ if args.convert:
|
||||
print(format_durations(durations))
|
||||
if args.temperature:
|
||||
print(dev.check_temperature())
|
||||
if args.humidity:
|
||||
print(dev.check_humidity())
|
||||
if args.energy:
|
||||
print(dev.get_energy())
|
||||
if args.sensors:
|
||||
try:
|
||||
data = dev.check_sensors()
|
||||
except:
|
||||
data = {}
|
||||
data['temperature'] = dev.check_temperature()
|
||||
data = dev.check_sensors()
|
||||
for key in data:
|
||||
print("{} {}".format(key, data[key]))
|
||||
if args.send:
|
||||
|
Loading…
Reference in New Issue
Block a user