From a0c4d914e8c09930d732506ee8e1bb1880c6ade6 Mon Sep 17 00:00:00 2001 From: s-hadinger <49731213+s-hadinger@users.noreply.github.com> Date: Sat, 8 Jul 2023 11:25:33 +0200 Subject: [PATCH] Matter fix bug when saving Force Static endpoints (#19071) --- .../berry_matter/src/embedded/Matter_IM.be | 2 + .../src/embedded/Matter_IM_Message.be | 2 + .../src/embedded/Matter_UDPServer.be | 2 + .../berry_matter/src/embedded/Matter_UI.be | 6 +- .../src/solidify/solidified_Matter_UI.h | 1207 +++++++++-------- 5 files changed, 618 insertions(+), 601 deletions(-) diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_IM.be b/lib/libesp32/berry_matter/src/embedded/Matter_IM.be index 94232d40a..c30668b6c 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_IM.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_IM.be @@ -380,6 +380,7 @@ class Matter_IM # returns `true` if processed, `false` if silently ignored, # or raises an exception def process_invoke_request(msg, val) + # import debug # structure is `ReadRequestMessage` 10.6.2 p.558 # tasmota.log("MTR: IM:invoke_request processing start", 4) var ctx = matter.Path() @@ -403,6 +404,7 @@ class Matter_IM var res = self.device.invoke_request(msg.session, q.command_fields, ctx) var params_log = (ctx.log != nil) ? "(" + str(ctx.log) + ") " : "" tasmota.log(format("MTR: >Command (%6i) %s %s %s", msg.session.local_session_id, ctx_str, cmd_name ? cmd_name : "", params_log), ctx.endpoint != 0 ? 2 : 3 #- don't log for endpoint 0 -# ) + # tasmota.log("MTR: Perf/Command = " + str(debug.counters()), 4) ctx.log = nil var a1 = matter.InvokeResponseIB() if res == true || ctx.status == matter.SUCCESS # special case, just respond ok diff --git a/lib/libesp32/berry_matter/src/embedded/Matter_IM_Message.be b/lib/libesp32/berry_matter/src/embedded/Matter_IM_Message.be index 30583e2f1..fa1edfec3 100644 --- a/lib/libesp32/berry_matter/src/embedded/Matter_IM_Message.be +++ b/lib/libesp32/berry_matter/src/embedded/Matter_IM_Message.be @@ -88,10 +88,12 @@ class Matter_IM_Message def send_im(responder) # tasmota.log(format("MTR: IM_Message send_im exch=%i ready=%i", self.resp.exchange_id, self.ready ? 1 : 0), 3) if !self.ready return false end + # import debug var resp = self.resp resp.encode_frame(self.data.to_TLV().tlv2raw()) # payload in cleartext resp.encrypt() tasmota.log(format("MTR: