tvl-depot/cli/broadlink_discovery
Julian Pastarmov 3d4789305e Only get temperature for devices that support it. (#102)
Calling check_temperature is only possible on the RM family of devices. The program used to crash if other types of devices were discovered (A1, MP1 etc.).
2017-11-25 12:04:10 -08:00

26 lines
1 KiB
Python
Executable file

#!/usr/bin/python
import broadlink
import time
import argparse
parser = argparse.ArgumentParser(fromfile_prefix_chars='@');
parser.add_argument("--timeout", type=int, default=5, help="timeout to wait for receiving discovery responses")
args = parser.parse_args()
print "discover"
devices = broadlink.discover(timeout=args.timeout)
#print devices
for device in devices:
if device.auth():
print "###########################################"
# print device
print device.type
print "# broadlink_cli --type 0x2712 --host {} --mac {}".format(device.host[0], ''.join(format(x, '02x') for x in device.mac))
print "Device file data (to be used with --device @filename in broadlink_cli) : "
print "0x2712 {} {}".format(device.host[0], ''.join(format(x, '02x') for x in device.mac))
if hasattr(device, 'check_temperature'):
print "temperature = {}".format(device.check_temperature())
print ""
else:
print "Error authenticating with device : {}".format(device.host)