about summary refs log blame commit diff
path: root/third_party/python/broadlink/cli/broadlink_discovery
blob: 1c6b80b1483e77b0fabbecad9f243847b69a9ec0 (plain) (tree)
1
2
3
4
5
6
7
8
9
                     
 

               


                                                           
                                                                                                               
                                                                                    
                                                                                                    

                          
                       
                                                                                                             

                      

                                                            

                                                                                                                   

                                                                                                                    
                                                

                                                                        
         
                                                                          
#!/usr/bin/env python

import argparse

import broadlink

parser = argparse.ArgumentParser(fromfile_prefix_chars='@')
parser.add_argument("--timeout", type=int, default=5, help="timeout to wait for receiving discovery responses")
parser.add_argument("--ip", default=None, help="ip address to use in the discovery")
parser.add_argument("--dst-ip", default=None, help="destination ip address to use in the discovery")
args = parser.parse_args()

print("Discovering...")
devices = broadlink.discover(timeout=args.timeout, local_ip_address=args.ip, discover_ip_address=args.dst_ip)
for device in devices:
    if device.auth():
        print("###########################################")
        print(device.type)
        print("# broadlink_cli --type {} --host {} --mac {}".format(hex(device.devtype), 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("{} {} {}".format(hex(device.devtype), 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))