import sys
import struct
import time
from bluepy import btle

if len(sys.argv) != 3:
	print "Fatal, must pass device address:", sys.argv[0], "<device address> <minutes|0 for off>"
	quit()

print "Connecting..."
dev = btle.Peripheral(sys.argv[1],"random")

characteristics = dev.getCharacteristics(startHnd=0x0001, endHnd=0xFFFF, uuid=None)
print "Got",len(characteristics),"characteristic objects"
for characteristic in characteristics:
    print("{}, hnd={}, supports {}".format(characteristic, hex(characteristic.handle), characteristic.propertiesToString()))
    if hex(characteristic.handle) == "0x10":
    	print "Using handle ",hex(characteristic.handle)
    	print "Sending ..."
    	if sys.argv[2] == "0":
    		characteristic.write(struct.pack(">BBBBBBBBB",0x05,0x04,0x00,0x90,0x00,0x00,0x00,0x99,0x00))
    	else:
    		characteristic.write(struct.pack(">BBBBBBBBB",0x05,0x04,0x00,0x0a,0x00,int(sys.argv[2]),0x00,int(sys.argv[2])+19,0x00))
    	time.sleep(1)
    	characteristic.write(struct.pack(">BBBBB",0x0d,0x00,0x00,0x0d,0x00))

dev.disconnect()
