diff --git a/main.py b/main.py index 6ceb085..b88a22c 100644 --- a/main.py +++ b/main.py @@ -7,7 +7,9 @@ import spec import ubinascii from machine import I2C from machine import Pin +from machine import Timer import struct + # print(" +-------------------------------------+") # print(" +-------------------------------------+\n") @@ -68,7 +70,7 @@ def fancy_transmit(payload, source_ep, dest_ep, cluster,profile): if xbee.transmit(xbee.ADDR_COORDINATOR, payload, source_ep=source_ep, dest_ep=dest_ep, cluster=cluster, profile=profile, tx_options=0) is None: send = 1 - time.sleep(1) + #time.sleep(1) except OSError as e: time.sleep(1) print(payload) @@ -77,6 +79,9 @@ def fancy_transmit(payload, source_ep, dest_ep, cluster,profile): fancy_transmit( payload=initial_payload, source_ep=0, dest_ep=0, cluster=19,profile=0 ) print("receiving") +diff = 3600000 +first_report = False +timestamp = time.tick_ms() while 1 != 0: blorp = xbee.receive() if blorp is not None: @@ -146,6 +151,13 @@ while 1 != 0: print("Node descriptor response integer payload discard") #for key, value in blorp.items(): #1 print (key, ' : ', value) + if (diff < time.diff(time.ticks_ms() - timestamp)) or ( not first_report ) : + timestamp = time.ticks_ms() + first_report = True + zcl_head = bytes([12, 30, 16, 171, 10]) + payload = zcl_head + bytes([0,0,10,0]) #for now only return off for state report + fancy_transmit(payload=payload, source_ep=blorp[8], dest_ep=blorp[1], cluster=6, profile=260) + #print(xbee.receive()) #print("temperature")