<?xml version="1.0" encoding="UTF-8" ?>
<!-- created at 2025-12-17 15:05:24 -->
<UANodeSet xmlns="http://opcfoundation.org/UA/2011/03/UANodeSet.xsd" xmlns:uax="http://opcfoundation.org/UA/2008/02/Types.xsd">
	<Extensions>
		<atvise Version="3.13"/>
	</Extensions>
	<NamespaceUris>
		<Uri>http://www.atvise.com/atServer/UA/</Uri>
	</NamespaceUris>
	<Aliases>
		<!-- data types -->
		<Alias Alias="Boolean">i=1</Alias>
		<Alias Alias="SByte">i=2</Alias>
		<Alias Alias="Byte">i=3</Alias>
		<Alias Alias="Int16">i=4</Alias>
		<Alias Alias="UInt16">i=5</Alias>
		<Alias Alias="Int32">i=6</Alias>
		<Alias Alias="UInt32">i=7</Alias>
		<Alias Alias="Int64">i=8</Alias>
		<Alias Alias="UInt64">i=9</Alias>
		<Alias Alias="Float">i=10</Alias>
		<Alias Alias="Double">i=11</Alias>
		<Alias Alias="String">i=12</Alias>
		<Alias Alias="DateTime">i=13</Alias>
		<Alias Alias="ByteString">i=15</Alias>
		<Alias Alias="XmlElement">i=16</Alias>
		<Alias Alias="NodeId">i=17</Alias>
		<Alias Alias="LocalizedText">i=21</Alias>
		<!-- references -->
		<Alias Alias="Organizes">i=35</Alias>
		<Alias Alias="HasEventSource">i=36</Alias>
		<Alias Alias="HasModellingRule">i=37</Alias>
		<Alias Alias="HasTypeDefinition">i=40</Alias>
		<Alias Alias="HasSubtype">i=45</Alias>
		<Alias Alias="HasProperty">i=46</Alias>
		<Alias Alias="HasComponent">i=47</Alias>
		<Alias Alias="HasNotifier">i=48</Alias>
		<Alias Alias="HasCondition">i=9006</Alias>
		<Alias Alias="HasHistoricalConfiguration">i=56</Alias>
		<!-- types -->
		<Alias Alias="BaseDataType">i=24</Alias>
		<Alias Alias="BaseObjectType">i=58</Alias>
		<Alias Alias="FolderType">i=61</Alias>
		<Alias Alias="BaseVariableType">i=62</Alias>
		<Alias Alias="BaseDataVariableType">i=63</Alias>
		<Alias Alias="PropertyType">i=68</Alias>
		<Alias Alias="AlarmConditionStateType">ns=1;i=1001</Alias>
		<!-- modelling rules -->
		<Alias Alias="New">i=78</Alias>
		<Alias Alias="Shared">i=79</Alias>
		<Alias Alias="SharedExclusive">i=336</Alias>
		<!-- other -->
		<Alias Alias="Server">i=2253</Alias>
		<Alias Alias="Objects">i=85</Alias>
	</Aliases>
	<UAObject NodeId="ns=1;s=SYSTEM" BrowseName="1:SYSTEM">
		<DisplayName Locale="en">SYSTEM</DisplayName>
		<Description Locale="en">SYSTEM</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">Objects</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise ExportedNodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.SERVERSCRIPTS.ExportHistory" ExportedBrowseName="1:ExportHistory" Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY" BrowseName="1:LIBRARY">
		<DisplayName Locale="en">LIBRARY</DisplayName>
		<Description Locale="en">LIBRARY</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT" BrowseName="1:PROJECT">
		<DisplayName Locale="en">PROJECT</DisplayName>
		<Description Locale="en">PROJECT</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.SERVERSCRIPTS" BrowseName="1:SERVERSCRIPTS">
		<DisplayName Locale="en">SERVERSCRIPTS</DisplayName>
		<Description Locale="en">SERVERSCRIPTS</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY.PROJECT</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAVariable NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.SERVERSCRIPTS.ExportHistory" BrowseName="1:ExportHistory" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">ExportHistory</DisplayName>
		<Description Locale="en">ExportHistory</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY.PROJECT.SERVERSCRIPTS</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=VariableTypes.ATVISE.ScriptCode</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<script>
  <metadata>
    <priority>0</priority>
  </metadata>
  <parameter name="Node" type="string" trigger="false" relative="false" value=""/>
  <parameter name="duration" type="string" trigger="false" relative="false" value=""/>
  <parameter name="lng" type="string" trigger="false" relative="false" value=""/>
  <parameter name="aggregate" type="string" trigger="false" relative="false" value=""/>
  <code><![CDATA[aggregate = JSON.parse(aggregate);
var first = true;
var date = new Date();
var hdate = new Date();
var to = hdate.getTime();
var from;

if (duration == "Weekly"){
	from = to - (7*24*60*60*1000);
}else{
	hdate.setMonth(hdate.getMonth() - 1);
	from = hdate.getTime();
}

var result = history.query({
	type: ["v:1"],
	timestamp: ["n:>=" + from + "<" + to],
	address: ["g:"+Node+""],
	aggregate: [`v:${aggregate.aggregate}`],
	interval: [`v:${aggregate.intervalValue}`],
	unit: [`v:${aggregate.intervalUnit}`]
});

if(aggregate.aggregate === "Sampled")
{
	var file = String(date.getFullYear()) + (date.getMonth() <= 8 ? 0 + String(date.getMonth() + 1) : String(date.getMonth()+1)) + (String(date.getDate()) < 10 ? 0 + String(date.getDate()):String(date.getDate())) + "_" + (String(date.getHours())<10 ? 0+String(date.getHours()) : String(date.getHours())) + (String(date.getMinutes())<10 ? 0+String(date.getMinutes()):String(date.getMinutes()))+(String(date.getSeconds())<10 ? 0+String(date.getSeconds()):String(date.getSeconds()));
	var ofs = new OutputFileStream(duration+`_Report/${aggregate.templateName}_`+file+'.csv','utf8','append');
	ofs.open();
	
	for(var i in result.result){
		var line = "";
	
		if(first == true){
			var header = "";
			for(var x in result.result[i]){
				header += x + ";";
			}
			ofs.writeLine(header);
			first = false;
		}
	
		for(var x in result.result[i]){
			if(typeof result.result[i][x] == "object"){
				line += result.result[i][x][lng] + ";";
			}
			else if(x == "timestamp" || x == "servertimestamp"){
				var content = new Date(result.result[i][x]);
				result.result[i][x] = content.getDate() + "." + (content.getMonth() <= 8 ? "0" + (content.getMonth() + 1) : content.getMonth() + 1) + "." + content.getFullYear() + " " + content.getHours() + ":" + content.getMinutes() + ":" + content.getSeconds() + "." + content.getMilliseconds();
				line += result.result[i][x] + ";";
			} else
				line += result.result[i][x] + ";";
		}
	
		ofs.writeLine(line);
	}
}
else
{
	first = true;
	var file = String(date.getFullYear()) + (date.getMonth() <= 8 ? 0 + String(date.getMonth() + 1) : String(date.getMonth()+1)) + (String(date.getDate()) < 10 ? 0 + String(date.getDate()):String(date.getDate())) + "_" + (String(date.getHours())<10 ? 0+String(date.getHours()) : String(date.getHours())) + (String(date.getMinutes())<10 ? 0+String(date.getMinutes()):String(date.getMinutes()))+(String(date.getSeconds())<10 ? 0+String(date.getSeconds()):String(date.getSeconds()));
	var ofs = new OutputFileStream(duration+`_Report/${aggregate.templateName}_`+file+'.csv','utf8','append');
	ofs.open();
	
	for(var i in result.result){
		var line = "";
	
		if(first == true){
			var header = "";
			for(var x in result.result[i]){
				header += x + ";";
			}
			ofs.writeLine(header);
			first = false;
		}
	
		for(var x in result.result[i]){
			if(x === "description" || x === "displayname"){
				line += result.result[i][x][lng] + ";";
			}
			else if(x === "timestamp" || x === "servertimestamp"){
				var content = new Date(result.result[i][x]);
				result.result[i][x] = content.getDate() + "." + (content.getMonth() <= 8 ? "0" + (content.getMonth() + 1) : content.getMonth() + 1) + "." + content.getFullYear() + " " + content.getHours() + ":" + content.getMinutes() + ":" + content.getSeconds() + "." + content.getMilliseconds();
				line += result.result[i][x] + ";";
			} else
				line += result.result[i][x] + ";";
		}
	
		ofs.writeLine(line);
	}
	
}

ofs.close();]]]]><![CDATA[></code>
</script>
]]></uax:XmlElement>
		</Value>
	</UAVariable>
	<UAObject NodeId="ns=1;s=SYSTEM" BrowseName="1:SYSTEM">
		<DisplayName Locale="en">SYSTEM</DisplayName>
		<Description Locale="en">SYSTEM</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">Objects</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise ExportedNodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.WEBMIMETHODS.ExportHistoryMethod" ExportedBrowseName="1:ExportHistoryMethod" Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY" BrowseName="1:LIBRARY">
		<DisplayName Locale="en">LIBRARY</DisplayName>
		<Description Locale="en">LIBRARY</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT" BrowseName="1:PROJECT">
		<DisplayName Locale="en">PROJECT</DisplayName>
		<Description Locale="en">PROJECT</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.WEBMIMETHODS" BrowseName="1:WEBMIMETHODS">
		<DisplayName Locale="en">WEBMIMETHODS</DisplayName>
		<Description Locale="en">WEBMIMETHODS</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY.PROJECT</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAVariable NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.WEBMIMETHODS.ExportHistoryMethod" BrowseName="1:ExportHistoryMethod" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">ExportHistoryMethod</DisplayName>
		<Description Locale="en">ExportHistoryMethod</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY.PROJECT.WEBMIMETHODS</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=VariableTypes.ATVISE.ScriptCode</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<script>
  <metadata>
    <priority>0</priority>
    <runcontext>owner</runcontext>
  </metadata>
  <parameter name="request" type="http.request" trigger="false" relative="false" value=""/>
  <code><![CDATA[var lng = request.postvalues["lng"];
var Node = request.postvalues["Node"];
var duration = request.postvalues["duration"];
var aggregate = request.postvalues["aggregate"];

call("ExportHistory", {lng:lng, Node:Node, duration:duration, aggregate: aggregate});]]]]><![CDATA[></code>
</script>
]]></uax:XmlElement>
		</Value>
	</UAVariable>
	<UAObject NodeId="ns=1;s=SYSTEM" BrowseName="1:SYSTEM">
		<DisplayName Locale="en">SYSTEM</DisplayName>
		<Description Locale="en">SYSTEM</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">Objects</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise ExportedNodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.WEBMIMETHODS.GetAggregates" ExportedBrowseName="1:GetAggregates" Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY" BrowseName="1:LIBRARY">
		<DisplayName Locale="en">LIBRARY</DisplayName>
		<Description Locale="en">LIBRARY</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT" BrowseName="1:PROJECT">
		<DisplayName Locale="en">PROJECT</DisplayName>
		<Description Locale="en">PROJECT</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.WEBMIMETHODS" BrowseName="1:WEBMIMETHODS">
		<DisplayName Locale="en">WEBMIMETHODS</DisplayName>
		<Description Locale="en">WEBMIMETHODS</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY.PROJECT</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAVariable NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.WEBMIMETHODS.GetAggregates" BrowseName="1:GetAggregates" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">GetAggregates</DisplayName>
		<Description Locale="en">GetAggregates</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY.PROJECT.WEBMIMETHODS</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=VariableTypes.ATVISE.ScriptCode</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<script>
  <metadata>
    <priority>0</priority>
    <owner>root</owner>
    <runcontext>owner</runcontext>
  </metadata>
  <parameter name="request" type="http.request" trigger="false" relative="false" value=""/>
  <code><![CDATA[var nodeName = request.postvalues["Node"];
var nodeobj =  Ua.findNode(nodeName);
	
var ret = nodeobj.result.browse();
var templates = [];

for (var i = 0; i < ret.result.length; ++i)
{
	if(ret.result[i]["node"]["nodeId"]["address"].includes("AGENT.HISTORY.AGGREGATETEMPLATES"))
	{ 
		templates.push(ret.result[i]["node"]["nodeId"]["address"]);
	}
}

var aggregates = [];

for(const template of templates)
{
	var t = Ua.findNode(template);
	var browseT = t.result.browse({
		direction: Ua.Node.BROWSEDIRECTION_FORWARD,
		reference: Ua.Reference.HIERARCHICALREFERENCES,
		subType: true,
		nodeClass: Ua.NodeClass.UNSPECIFIED,
		maxResult: 0
	});
	for(const resT of browseT.result)
	{
		if(resT.node.browseName.idx === 1)
			aggregates.push(resT.node.nodeId.address);
	}
}

var aggregateAttributes = [];

for(const aggregate of aggregates)
{
	var a = Ua.findNode(aggregate);
	var browseA = a.result.browse({
		direction: Ua.Node.BROWSEDIRECTION_FORWARD,
		reference: Ua.Reference.HIERARCHICALREFERENCES,
		subType: true,
		nodeClass: Ua.NodeClass.UNSPECIFIED,
		maxResult: 0
	});
	
	var interval_val;
	var interval_unit;
	var name;
	var tempName = a.result.browseName.name;
	
	for(const resA of browseA.result)
	{
		if(resA.node.browseName.name === "interval_unit")
			interval_unit = resA.node.value;
		
		if(resA.node.browseName.name === "interval_value")
		
			interval_val = resA.node.value;
		
		if(!isNaN(Number(resA.node.nodeId.address)) || resA.node.nodeId.address === "Sampled")
			name = resA.node.browseName.name;
	}
	
	aggregateAttributes.push({intervalValue: interval_val, intervalUnit: interval_unit, aggregate: name, templateName: tempName});
}

return aggregateAttributes;]]]]><![CDATA[></code>
</script>
]]></uax:XmlElement>
		</Value>
	</UAVariable>
	<UAObject NodeId="ns=1;s=SYSTEM" BrowseName="1:SYSTEM">
		<DisplayName Locale="en">SYSTEM</DisplayName>
		<Description Locale="en">SYSTEM</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">Objects</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise ExportedNodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.OBJECTDISPLAYS.ExportAggregate" ExportedBrowseName="1:ExportAggregate" Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY" BrowseName="1:LIBRARY">
		<DisplayName Locale="en">LIBRARY</DisplayName>
		<Description Locale="en">LIBRARY</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT" BrowseName="1:PROJECT">
		<DisplayName Locale="en">PROJECT</DisplayName>
		<Description Locale="en">PROJECT</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAObject NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.OBJECTDISPLAYS" BrowseName="1:OBJECTDISPLAYS">
		<DisplayName Locale="en">OBJECTDISPLAYS</DisplayName>
		<Description Locale="en">OBJECTDISPLAYS</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY.PROJECT</Reference>
			<Reference ReferenceType="HasTypeDefinition">FolderType</Reference>
		</References>
		<Extensions>
			<atvise Upstream="true"/>
		</Extensions>
	</UAObject>
	<UAVariable NodeId="ns=1;s=SYSTEM.LIBRARY.PROJECT.OBJECTDISPLAYS.ExportAggregate" BrowseName="1:ExportAggregate" DataType="XmlElement" AccessLevel="103" UserAccessLevel="103" Historizing="true">
		<DisplayName Locale="en">ExportAggregate</DisplayName>
		<Description Locale="en">ExportAggregate</Description>
		<References>
			<Reference ReferenceType="HasComponent" IsForward="false">ns=1;s=SYSTEM.LIBRARY.PROJECT.OBJECTDISPLAYS</Reference>
			<Reference ReferenceType="HasTypeDefinition">ns=1;s=VariableTypes.ATVISE.Display</Reference>
		</References>
		<Value>
			<uax:XmlElement><![CDATA[<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<svg height="182.86000000000001" version="1.2" width="357.82999999999998" xmlns="http://www.w3.org/2000/svg" xmlns:atv="http://webmi.atvise.com/2007/svgext" xmlns:xlink="http://www.w3.org/1999/xlink">
 <defs/>
 <metadata>
  <atv:gridconfig enabled="false" gridstyle="lines" height="20" width="20"/>
  <atv:snapconfig enabled="false" height="10" width="10"/>
 </metadata>
 <rect atv:refpx="179.913" atv:refpy="104.236" fill="none" height="181.676" id="id_9" stroke="#2f2f2f" stroke-width="1.183" width="356.644" x="0.592" y="0.592"/>
 <g atv:refpx="177.44" atv:refpy="67.634" id="id_6">
  <svg atv:refpx="241.42" atv:refpy="72.573" height="30" id="PickDuration" transform="matrix(1.3038,0,0,1.2621,0,0)" width="160" x="110.657" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.combobox" y="38.588">
   <atv:argument name="text1" value="T{weekly}"/>
   <atv:argument name="text1value" value="Weekly"/>
   <atv:argument name="text2" value="T{monthly}"/>
   <atv:argument name="text2value" value="Monthly"/>
   <atv:argument name="fontSize" value="14"/>
   <atv:overwrite id="id_3" transform="matrix(0.767,0,0,0.7923,0,0)" x="183.358" y="8.931"/>
   <atv:overwrite id="id_5" transform="matrix(0.767,0,0,0.7923,0,0)" x="181.108" y="6.681"/>
   <atv:overwrite height="32.363" id="id_2" transform="matrix(0.767,0,0,0.7923,0,0)" width="176.608"/>
   <atv:overwrite height="37.363" id="combobox_stroke" transform="matrix(0.767,0,0,0.7923,0,0)" width="208.108"/>
   <atv:overwrite height="33.863" id="focus_frame" transform="matrix(0.767,0,0,0.7923,0,0)" width="204.608"/>
   <atv:overwrite id="button_stroke" transform="matrix(0.767,0,0,0.7923,0,0)" x="183.608" y="8.931"/>
   <atv:overwrite id="id_7" transform="matrix(0.767,0,0,0.7923,0,0)" x="183.608" y="9.931"/>
   <atv:overwrite id="button_bg" transform="matrix(0.767,0,0,0.7923,0,0)" x="183.608" y="8.931"/>
   <atv:overwrite id="combobox_label" transform="matrix(0.767,0,0,0.7923,0,0)" x="174.108" y="23.431"/>
   <atv:overwrite height="29.863" id="blinking_frame" transform="matrix(0.767,0,0,0.7923,0,0)" width="176.608"/>
   <atv:overwrite height="29.863" id="combobox_bg" transform="matrix(0.767,0,0,0.7923,0,0)" width="176.608"/>
   <atv:overwrite height="35.863" id="id_1" transform="matrix(0.767,0,0,0.7923,0,0)" width="206.608"/>
   <atv:overwrite height="37.863" id="id_0" transform="matrix(0.767,0,0,0.7923,0,0)" width="208.608"/>
  </svg>
  <text atv:refpx="62.715" atv:refpy="65.134" fill="#000000" font-family="Arial" font-size="20" id="TextDuration" text-anchor="start" x="6.998" y="75.134">Duration:</text>
 </g>
 <g atv:refpx="177.472" atv:refpy="25.311" id="id_8">
  <text atv:refpx="48.016" atv:refpy="28.311" fill="#000000" font-family="Arial" font-size="20" id="TextNode" x="6.998" y="32.812">Node address:</text>
  <svg atv:refpx="249.449" atv:refpy="30.191" height="30" id="PickNode" transform="matrix(1.3042,0,0,1.2686,0,0)" width="160" x="110.623" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.picker_address" y="4.952">
   <atv:argument name="fontSize" value="14"/>
   <atv:overwrite id="id_1" transform="matrix(0.7667,0,0,0.7883,0,0)" x="183.425" y="9.029"/>
   <atv:overwrite id="id_5" transform="matrix(0.7668,0,0,0.7883,0,0)" x="181.172" y="6.779"/>
   <atv:overwrite height="32.558" id="id_2" transform="matrix(0.7668,0,0,0.7883,0,0)" width="176.672"/>
   <atv:overwrite height="38.058" id="addresspicker_clickarea" transform="matrix(0.7668,0,0,0.7883,0,0)" x="180.672"/>
   <atv:overwrite height="34.058" id="focus_frame" transform="matrix(0.7668,0,0,0.7883,0,0)" width="204.672"/>
   <atv:overwrite id="button_stroke" transform="matrix(0.7668,0,0,0.7883,0,0)" x="183.672" y="9.029"/>
   <atv:overwrite id="button_symbol" transform="matrix(0.7668,0,0,0.7883,0,0)" x="183.422" y="9.029"/>
   <atv:overwrite id="button_bg" transform="matrix(0.7668,0,0,0.7883,0,0)" x="183.672" y="9.029"/>
   <atv:overwrite id="input_label" transform="matrix(0.7668,0,0,0.7883,0,0)" x="174.672" y="23.279"/>
   <atv:overwrite height="30.058" id="blinking_frame" transform="matrix(0.7668,0,0,0.7883,0,0)" width="176.672"/>
   <atv:overwrite height="30.058" id="addresspicker_bg" transform="matrix(0.7668,0,0,0.7883,0,0)" width="176.672"/>
   <atv:overwrite height="36.058" id="id_0" transform="matrix(0.7668,0,0,0.7883,0,0)" width="206.672"/>
   <atv:overwrite height="38.058" id="addresspicker_stroke" transform="matrix(0.7668,0,0,0.7883,0,0)" width="208.672"/>
  </svg>
 </g>
 <g atv:refpx="283.531" atv:refpy="155.533" id="ExportButton" transform="matrix(0.6598,0,0,0.6598,-104.6871,63.0808)">
  <rect atv:refpx="347.769" atv:refpy="206.602" fill="#888888" fill-opacity="0" height="66.648" id="id_0" stroke="#2f2f2f" stroke-width="1.183" width="208.349" x="484.202" y="106.794"/>
  <text atv:refpx="614.737" atv:refpy="135.551" fill="#000000" font-family="Arial" font-size="36" id="id_7" x="518.237" y="153.051">EXPORT</text>
 </g>
 <g atv:refpx="177.608" atv:refpy="109.144" id="id_4">
  <svg atv:refpx="241.42" atv:refpy="114.577" height="30" id="PickAggregate" transform="matrix(1.3038,0,0,1.2621,0,0)" width="160" x="110.785" xlink:href="SYSTEM.LIBRARY.ATVISE.OBJECTDISPLAYS.Advanced.combobox" y="71.478">
   <atv:argument name="fontSize" value="14"/>
   <atv:overwrite id="id_3" transform="matrix(0.767,0,0,0.7923,0,0)" x="183.358" y="8.931"/>
   <atv:overwrite id="id_5" transform="matrix(0.767,0,0,0.7923,0,0)" x="181.108" y="6.681"/>
   <atv:overwrite height="32.363" id="id_2" transform="matrix(0.767,0,0,0.7923,0,0)" width="176.608"/>
   <atv:overwrite height="37.363" id="combobox_stroke" transform="matrix(0.767,0,0,0.7923,0,0)" width="208.108"/>
   <atv:overwrite height="33.863" id="focus_frame" transform="matrix(0.767,0,0,0.7923,0,0)" width="204.608"/>
   <atv:overwrite id="button_stroke" transform="matrix(0.767,0,0,0.7923,0,0)" x="183.608" y="8.931"/>
   <atv:overwrite id="id_7" transform="matrix(0.767,0,0,0.7923,0,0)" x="183.608" y="9.931"/>
   <atv:overwrite id="button_bg" transform="matrix(0.767,0,0,0.7923,0,0)" x="183.608" y="8.931"/>
   <atv:overwrite id="combobox_label" transform="matrix(0.767,0,0,0.7923,0,0)" x="174.108" y="23.431"/>
   <atv:overwrite height="29.863" id="blinking_frame" transform="matrix(0.767,0,0,0.7923,0,0)" width="176.608"/>
   <atv:overwrite height="29.863" id="combobox_bg" transform="matrix(0.767,0,0,0.7923,0,0)" width="176.608"/>
   <atv:overwrite height="35.863" id="id_1" transform="matrix(0.767,0,0,0.7923,0,0)" width="206.608"/>
   <atv:overwrite height="37.863" id="id_0" transform="matrix(0.767,0,0,0.7923,0,0)" width="208.608"/>
  </svg>
  <text atv:refpx="76.142" atv:refpy="106.644" fill="#000000" font-family="Arial" font-size="20" id="TextAggregate" text-anchor="start" x="7.165" y="116.644">Aggregate:</text>
 </g>
 <script atv:desc="" atv:name="" type="text/ecmascript"><![CDATA[var duration;
var nodeAdd;
var aggregate;

// Combobox Triggers

webMI.trigger.connect("valuechanged", function(e) { 
    duration = e.value;
}, "PickDuration");

webMI.trigger.connect("valuechanged", function(e) { 
    nodeAdd = e.value;
	webMI.data.call("GetAggregates", {"Node": nodeAdd}, function(e) {
		var elements = e.map((item) => {
			return {text: item.templateName, value: item};
		});

		webMI.trigger.fire("setItems", elements, "PickAggregate");
		webMI.trigger.fire("setSelectedItem", "", "PickAggregate");
	});
	aggregate = undefined;
}, "PickNode");

webMI.trigger.connect("valuechanged", function(e) { 
    aggregate = e.value;
}, "PickAggregate");

// Button Click

webMI.addEvent("ExportButton", "click", function(e) {
var id = "ExportButton";
var value = true;
return function(value) {
if(!nodeAdd){
	alert("Please Select node.");
}
else if(!duration){
	alert("Please Select duration.");
} 
else if(!aggregate){
	alert("Please Select aggregate.");
} 
else{
	var stringifiedAggregate = JSON.stringify(aggregate); 
	webMI.data.call("ExportHistoryMethod", {"lng": "en","Node": nodeAdd,"duration": duration, "aggregate": stringifiedAggregate}, function(e) {
		alert("Report was generated");
	});
}
} (value);
});

// Button MouseOver

webMI.addEvent("ExportButton", ["click","mouseover"], function(e) {
var id = "ExportButton";
var value = true;
return function(value) {
document.getElementById(id).style.cursor = "pointer";
} (value);
});

]]]]><![CDATA[></script>
</svg>
]]></uax:XmlElement>
		</Value>
	</UAVariable>
</UANodeSet>
