From 8aa295eb55b2958b55d593300c754f4dcb8f3638 Mon Sep 17 00:00:00 2001 From: Ashwini Vaidya Date: Wed, 13 May 2026 06:43:53 -0600 Subject: [PATCH] feat:unravel vector for dnp3/modbus --- src/python/otsim/io/io.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/python/otsim/io/io.py b/src/python/otsim/io/io.py index 4abe34a..9a4e150 100644 --- a/src/python/otsim/io/io.py +++ b/src/python/otsim/io/io.py @@ -31,6 +31,8 @@ def get_type(typ: str) -> DataType: return DataType.boolean elif typ == 'double': return DataType.double + elif typ == 'vector': + return DataType.vector else: return None @@ -170,8 +172,11 @@ def action_subscriptions(self: IO, data: typing.Dict, _): tag = self.tags[k] if not tag: continue - - points.append({'tag': tag, 'value': float(v), 'ts': 0}) + if isinstance(v, list): + for i, x in enumerate(v): + points.append({'tag': f'{tag}_{i}', 'value': float(x), 'ts': 0}) + else: + points.append({'tag': tag, 'value': float(v), 'ts': 0}) self.metrics.incr_metric('helics_sub_count') if len(points) > 0: