Skip to content

Commit

Permalink
add support for traces with ns_multiple in emulator
Browse files Browse the repository at this point in the history
  • Loading branch information
krahabb committed Jan 28, 2024
1 parent 2b963c1 commit 26453f6
Showing 1 changed file with 13 additions and 9 deletions.
22 changes: 13 additions & 9 deletions emulator/mixins/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,16 +79,20 @@ def _import_tracerow(self, values: list):
namespace = values[-2]
data = values[-1]
if method == mc.METHOD_GETACK:
if not isinstance(data, dict):
data = json_loads(data)
if protocol == "auto":
self.namespaces[namespace] = {
NAMESPACE_TO_KEY[namespace]: data
if isinstance(data, dict)
else json_loads(data)
}
else:
self.namespaces[namespace] = (
data if isinstance(data, dict) else json_loads(data)
)
data = {NAMESPACE_TO_KEY[namespace]: data}
self.namespaces[namespace] = data
elif (
method == mc.METHOD_SETACK and namespace == mc.NS_APPLIANCE_CONTROL_MULTIPLE
):
if not isinstance(data, dict):
data = json_loads(data)
for message in data[mc.KEY_MULTIPLE]:
header = message[mc.KEY_HEADER]
if header[mc.KEY_METHOD] == mc.METHOD_GETACK:
self.namespaces[header[mc.KEY_NAMESPACE]] = message[mc.KEY_PAYLOAD]


class MerossEmulator:
Expand Down

0 comments on commit 26453f6

Please sign in to comment.