From d2e4561dfd4037c55b3d2b06303c53df6f7f8980 Mon Sep 17 00:00:00 2001 From: vitor-aignosi Date: Fri, 27 Jun 2025 17:03:59 -0300 Subject: [PATCH] SIENTIAPDE-1110 Enhance OpcRepository write_data method to include SourceTimestamp using DateTime, improving data accuracy and traceability. --- laborious/utils/repository/opc_repository.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/laborious/utils/repository/opc_repository.py b/laborious/utils/repository/opc_repository.py index 3ae6c2a..a43e65b 100644 --- a/laborious/utils/repository/opc_repository.py +++ b/laborious/utils/repository/opc_repository.py @@ -4,7 +4,7 @@ from pathlib import Path from typing import Any from asyncua.sync import Client from asyncua.crypto.security_policies import SecurityPolicyBasic256 -from asyncua.ua import DataValue, Variant, VariantType +from asyncua.ua import DataValue, Variant, VariantType, DateTime from regex import F from sientia_do.notifications.handlers import NotificationHandler from sientia_do.notifications.models import NotificationLevel @@ -239,7 +239,9 @@ class OpcRepository(): logger.custom_info( f'Writing {data} - {type(data)} to {node}', metadata.get('schedule_name', 'N/A')) ua_data = DataValue( - Variant(data, data_type_map[data_type]['opc_type'])) + Variant(data, data_type_map[data_type]['opc_type']), + SourceTimestamp=DateTime(datetime.now()) + ) try: node.write_value(ua_data)