--- a/project/sparkplug™_mqtt_edge_b9741afd/function_blocks_d9bd2ff1/fb_edge_df8b6e33/fb_edge_af25efb2/getmetricbyname_11d0966d/11d0966d049b4720bcd3e40b6a0dcc86.object
+++ b/project/sparkplug™_mqtt_edge_b9741afd/function_blocks_d9bd2ff1/fb_edge_df8b6e33/fb_edge_af25efb2/getmetricbyname_11d0966d/11d0966d049b4720bcd3e40b6a0dcc86.object
@@ -1 +1 @@
-{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)11d0966d-049b-4720-bcd3-e40b6a0dcc86","ParentGuid":"(Guid)af25efb2-e7d3-4d17-9b46-1d6d5c77fe77","Name":"(string)GetMetricbyName","Properties":{"@Type":"2c41fa04:IDictionary","@Value":{}},"TypeGuid":"(Guid)f8a58466-d7f6-439f-bbb8-d4600e41d099","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","Guid":"System.Guid","string":"System.String"}},"object":{"Graph":{"@Type":"f8a58466","@Value":{"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextBlobForSerialisation":"(string)IF DeviceId = \"\" THEN\n    //Edge Metric\n    eError := SPStack.ERROR.MetricNotFound;\n    _metrics.ItterateRestart(HasNext => HasNext);\n\n    WHILE HasNext AND NOT FoundMetric DO\n        _metrics.ItterateNext(itfElement => itfElement,\n            HasNext => HasNext);\n\n        IF __QUERYINTERFACE(itfElement, _Metric) THEN\n            IF _Metric.Name = MetricName THEN\n                FoundMetric := TRUE;\n                eError := SPStack.ERROR.NO_ERROR;\n                Metric := _Metric;\n            END_IF\n        END_IF\n    END_WHILE\nELSE\n    //Device Metric\n    refDevice REF= THIS^.GetDevice(DeviceId := DeviceId,\n        eError => eError);\n\n    IF eError = SPStack.ERROR.NO_ERROR THEN\n        refDevice.GetMetricbyName(MetricName := MetricName,\n            Metric => Metric,\n            xError => xError,\n            eError => eError);\n    END_IF\nEND_IF\n\nxError := (eError <> SPStack.ERROR.NO_ERROR);\n\nIF Metric = 0 THEN\n    Metric := SPStack.GVL_sparkplug.InvalidMetric;\nEND_IF","LineInfoPersistence":"(string)11d0966d-049b-4720-bcd3-e40b6a0dcc86_Impl_LineIds"}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextBlobForSerialisation":"(string)METHOD GetMetricbyName\nVAR_IN_OUT CONSTANT\n    DeviceId : WSTRING; //Leave Blank for Edge Metrics\n    MetricName : WSTRING;\nEND_VAR\nVAR_OUTPUT\n    Metric : SPStack.IMetric;\n    GetTimestamp : SPStack.T_DateTime; //NOT IMPLEMENTED\n    xError : BOOL;\n    eError : SPStack.ERROR;\nEND_VAR\nVAR\n    HasNext : BOOL;\n    FoundMetric : BOOL;\n    itfElement : LinkedList.IElement;\n    refDevice : REFERENCE TO FB_Device;\n    _Metric : SPStack.IMetric;\nEND_VAR","LineInfoPersistence":"(string)11d0966d-049b-4720-bcd3-e40b6a0dcc86_Decl_LineIds"}}}}}},"TypeInfos":{"3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","f8a58466":"{f8a58466-d7f6-439f-bbb8-d4600e41d099}","string":"System.String"}}},"FormatVersion":"1.0"}
\ No newline at end of file
+{"payload":{"meta":{"Graph":{"@Type":"81297157","@Value":{"Guid":"(Guid)11d0966d-049b-4720-bcd3-e40b6a0dcc86","ParentGuid":"(Guid)af25efb2-e7d3-4d17-9b46-1d6d5c77fe77","Name":"(string)GetMetricbyName","Properties":{"@Type":"2c41fa04:IDictionary","@Value":{}},"TypeGuid":"(Guid)f8a58466-d7f6-439f-bbb8-d4600e41d099","EmbeddedTypeGuids":{"@Type":"[Guid]","@Value":["(Guid)a9ed5b7e-75c5-4651-af16-d2c27e98cb94","(Guid)3b83b776-fb25-43b8-99f2-3c507c9143fc"]}}},"TypeInfos":{"2c41fa04":"{2c41fa04-1834-41c1-816e-303c7aa2c05b}","81297157":"{81297157-7ec9-45ce-845e-84cab2b88ade}","Guid":"System.Guid","string":"System.String"}},"object":{"Graph":{"@Type":"f8a58466","@Value":{"Implementation":{"@Type":"3b83b776","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextBlobForSerialisation":"(string)IF DeviceId = \"\" THEN\n    //Edge Metric\n    eError := SPStack.ERROR.MetricNotFound;\n    _metrics.ItterateRestart( HasNext => HasNext );\n\n    WHILE HasNext AND NOT FoundMetric DO\n        _metrics.ItterateNext( itfElement => itfElement,\n                               HasNext => HasNext );\n\n        IF __QUERYINTERFACE( itfElement, _Metric ) THEN\n            IF _Metric.Name = MetricName THEN\n                FoundMetric := TRUE;\n                eError := SPStack.ERROR.NO_ERROR;\n                Metric := _Metric;\n            END_IF\n        END_IF\n    END_WHILE\nELSE\n    //Device Metric\n    refDevice REF= THIS^.GetDevice( DeviceId := DeviceId,\n                                    eError => eError );\n\n    IF eError = SPStack.ERROR.NO_ERROR THEN\n        refDevice.GetMetricbyName( MetricName := MetricName,\n                                   Metric => Metric,\n                                   xError => xError,\n                                   eError => eError );\n    END_IF\nEND_IF\n\nxError := ( eError <> SPStack.ERROR.NO_ERROR );\n\nIF Metric = 0 THEN\n    Metric := SPStack.GVL_sparkplug.InvalidMetric;\nEND_IF","LineInfoPersistence":"(string)11d0966d-049b-4720-bcd3-e40b6a0dcc86_Impl_LineIds"}}}},"Interface":{"@Type":"a9ed5b7e","@Value":{"TextDocument":{"@Type":"f3878285","@Value":{"TextBlobForSerialisation":"(string)METHOD GetMetricbyName\nVAR_IN_OUT CONSTANT\n    DeviceId : WSTRING; //Leave Blank for Edge Metrics\n    MetricName : WSTRING;\nEND_VAR\nVAR_OUTPUT\n    Metric : SPStack.IMetric;\n    GetTimestamp : SPStack.T_DateTime; //NOT IMPLEMENTED\n    xError : BOOL;\n    eError : SPStack.ERROR;\nEND_VAR\nVAR\n    HasNext : BOOL;\n    FoundMetric : BOOL;\n    itfElement : LinkedList.IElement;\n    refDevice : REFERENCE TO FB_Device;\n    _Metric : SPStack.IMetric;\nEND_VAR","LineInfoPersistence":"(string)11d0966d-049b-4720-bcd3-e40b6a0dcc86_Decl_LineIds"}}}}}},"TypeInfos":{"3b83b776":"{3b83b776-fb25-43b8-99f2-3c507c9143fc}","a9ed5b7e":"{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}","f3878285":"{f3878285-8e4f-490b-bb1b-9acbb7eb04db}","f8a58466":"{f8a58466-d7f6-439f-bbb8-d4600e41d099}","string":"System.String"}}},"FormatVersion":"1.0"}
\ No newline at end of file