diff --git a/custom-recipes/pi-system-retrieve-list/recipe.json b/custom-recipes/pi-system-retrieve-list/recipe.json index 860efd4..8660c6d 100644 --- a/custom-recipes/pi-system-retrieve-list/recipe.json +++ b/custom-recipes/pi-system-retrieve-list/recipe.json @@ -200,7 +200,7 @@ { "name": "boundary_type", "label": "Boundary type", - "visibilityCondition": "['InterpolatedData','RecordedData'].includes(model.data_type)", + "visibilityCondition": "((model.must_retrieve_metrics) && ['InterpolatedData'].includes(model.data_type))", "type": "SELECT", "selectChoices":[ {"value": "Inside", "label": "Inside"}, @@ -208,6 +208,18 @@ ], "defaultValue": "Inside" }, + { + "name": "record_boundary_type", + "label": "Boundary type", + "visibilityCondition": "((model.must_retrieve_metrics) && ['RecordedData'].includes(model.data_type))", + "type": "SELECT", + "selectChoices":[ + {"value": "Inside", "label": "Inside"}, + {"value": "Interpolated", "label": "Interpolated"}, + {"value": "Outside", "label": "Outside"} + ], + "defaultValue": "Inside" + }, { "type": "SEPARATOR", "description": "Data to retrieve" diff --git a/custom-recipes/pi-system-retrieve-list/recipe.py b/custom-recipes/pi-system-retrieve-list/recipe.py index ee0e6af..a4e3e93 100644 --- a/custom-recipes/pi-system-retrieve-list/recipe.py +++ b/custom-recipes/pi-system-retrieve-list/recipe.py @@ -48,7 +48,7 @@ end_time_column = config.get("end_time_column") server_url_column = config.get("server_url_column") interval, sync_time, boundary_type = get_interpolated_parameters(config) -record_boundary_type = config.get("boundary_type") if data_type == "RecordedData" else None +record_boundary_type = config.get("record_boundary_type") if data_type == "RecordedData" else None summary_type, summary_duration = get_summary_parameters(config) do_duplicate_input_row = config.get("do_duplicate_input_row", False) diff --git a/python-connectors/pi-system_attribute-search/connector.json b/python-connectors/pi-system_attribute-search/connector.json index 9708871..2702b7e 100644 --- a/python-connectors/pi-system_attribute-search/connector.json +++ b/python-connectors/pi-system_attribute-search/connector.json @@ -363,7 +363,7 @@ { "name": "boundary_type", "label": "Boundary type", - "visibilityCondition": "((model.must_retrieve_metrics) && ['InterpolatedData','RecordedData'].includes(model.data_type))", + "visibilityCondition": "((model.must_retrieve_metrics) && ['InterpolatedData'].includes(model.data_type))", "type": "SELECT", "selectChoices":[ {"value": "Inside", "label": "Inside"}, @@ -371,6 +371,18 @@ ], "defaultValue": "Inside" }, + { + "name": "record_boundary_type", + "label": "Boundary type", + "visibilityCondition": "((model.must_retrieve_metrics) && ['RecordedData'].includes(model.data_type))", + "type": "SELECT", + "selectChoices":[ + {"value": "Inside", "label": "Inside"}, + {"value": "Interpolated", "label": "Interpolated"}, + {"value": "Outside", "label": "Outside"} + ], + "defaultValue": "Inside" + }, { "name": "summary_duration", "label": "Summary duration", diff --git a/python-connectors/pi-system_attribute-search/connector.py b/python-connectors/pi-system_attribute-search/connector.py index 28f448e..50daa2b 100644 --- a/python-connectors/pi-system_attribute-search/connector.py +++ b/python-connectors/pi-system_attribute-search/connector.py @@ -56,7 +56,7 @@ def __init__(self, config, plugin_config): self.config = config self.summary_type, self.summary_duration = get_summary_parameters(config) - self.record_boundary_type = config.get("boundary_type") if self.data_type == "RecordedData" else None + self.record_boundary_type = config.get("record_boundary_type") if self.data_type == "RecordedData" else None def extract_database_webid(self, database_endpoint): return database_endpoint.split("/")[-1] diff --git a/python-lib/osisoft_constants.py b/python-lib/osisoft_constants.py index abe3711..4957a01 100644 --- a/python-lib/osisoft_constants.py +++ b/python-lib/osisoft_constants.py @@ -403,7 +403,7 @@ class OSIsoftConstants(object): "Security": "{base_url}/eventframes/{webid}/security", "SecurityEntries": "{base_url}/eventframes/{webid}/securityentries" } - PLUGIN_VERSION = "1.2.4-beta.4" + PLUGIN_VERSION = "1.2.4-beta.5" VALUE_COLUMN_SUFFIX = "_val" WEB_API_PATH = "piwebapi" WRITE_HEADERS = {'X-Requested-With': 'XmlHttpRequest'} diff --git a/python-lib/osisoft_plugin_common.py b/python-lib/osisoft_plugin_common.py index 6812a4e..1089b34 100644 --- a/python-lib/osisoft_plugin_common.py +++ b/python-lib/osisoft_plugin_common.py @@ -264,7 +264,7 @@ def format_output(input_row, reference_row=None, is_enumeration_value=False): type_column = None if "Value" in output_row and isinstance(output_row.get("Value"), dict): type_column = output_row.get("Type") - output_row = output_row.get("Value") + output_row.update(output_row.get("Value")) output_row.pop("Good", None) output_row.pop("Questionable", None) output_row.pop("Substituted", None)