From 07cb242a0ad7d96c67fbe46f30e81268d3134140 Mon Sep 17 00:00:00 2001 From: nathan wagner Date: Sun, 24 Apr 2022 14:30:15 -0400 Subject: [PATCH] data being sent reliably, formatting looks mostly ok for read attribute responses. --- barrier.py | 7 ++++--- main.py | 19 +++++++++++-------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/barrier.py b/barrier.py index fbe7bd1..e40689a 100644 --- a/barrier.py +++ b/barrier.py @@ -28,13 +28,14 @@ class Barrier: attributes = kwargs['attributes'] if len(attributes) == 1: if attributes[0] == 10: - return bytes([0,10]) + bytes([self.duint8]) + self.barrier_position + return bytes([0,10]) + b'\x00' + bytes([self.duint8]) + self.barrier_position if attributes[0] == 1: - return bytes([0,0]) + bytes([self.denum8]) + self.moving + return bytes([0,1]) + b'\x00' + bytes([self.denum8]) + self.moving #to_return = bytes([1,0,48]) + bytes(self.moving) + bytes([10,0,20]) + bytes(self.barrier_position) return b'\xFFFF' - + def position (self): + return bytes([0,10])+bytes([self.duint8]) + self.barrier_position def command(self, seq, payload): self.ad4.value(1) time.sleep_ms(600) diff --git a/main.py b/main.py index 5d55c3a..275ce78 100644 --- a/main.py +++ b/main.py @@ -40,7 +40,9 @@ diff = 3600000 first_report = False timestamp = time.ticks_ms() garage = barrier.Barrier() -payload_header=b'\x0c\x1e\x10' +payload_header=b'\x18' +war_header=b'\x10' +#payload_header=b'\x0c\x1e\x10' _rap=const(0x01) #read attribute response _dap=const(0x0d) #discover attribute response _war=const(0x05) #write attribute no response @@ -89,7 +91,7 @@ while 1 != 0: com.fancy_transmit(payload=payload, source_ep=packet['dest_ep'], dest_ep=packet['source_ep'], cluster=packet['cluster'], profile=packet['profile']) if kwargs['attributes'][0] == 10: - payload = payload_header + bytes([seq]) + _rap + bytes([0, 0, 16, ad4.value()]) + payload = payload_header + bytes([seq]) + bytes([_rap]) + bytes([0, 0, 16, ad4.value()]) # payload= attr_bytes print(payload) com.fancy_transmit(payload=payload, source_ep=packet['dest_ep'], dest_ep=packet['source_ep'], @@ -162,17 +164,18 @@ while 1 != 0: #payload = bytes([]) #payload = zcl_head# + payload garage.watch() - florp = garage.barrier_position - zcl_header = payload_header +oob + bytes([_ra]) - payload=zcl_header+bytes([5]) + zcl_header = war_header +oob + bytes([_war]) + payload=zcl_header+garage.position() #dumb = bytes([12, 30, 16, 171, 5]) - com.fancy_transmit(payload=bytes([12, 30, 16, 171, 10])+florp, source_ep=8, dest_ep=1, cluster=6, profile=260) + #com.fancy_transmit(payload=bytes([12, 30, 16, 171, 10])+florp, source_ep=8, dest_ep=1, cluster=6, profile=260) com.fancy_transmit(payload=payload , source_ep=8, dest_ep=1, cluster=259, profile=260) if garage.watch(): - zcl_head = bytes([12, 30, 16, 171, 10]) # zcl_header - payl = zcl_head + garage.status() + + #payload_header + oob + bytes([_war]) + payl = war_header + oob + bytes([_war]) + garage.position() print("door: "+ str(garage.door)) print("motor: "+ str(garage.motor)) + print(payl) com.fancy_transmit(payload=payl, source_ep=8, dest_ep=1, cluster=259, profile=260) time.sleep(1) garage.update = False