You can create a custom report that exports a .csv file, which is sent to Maestro via email. Please follow the steps below.
- Create a Custom Repport
- Add input data that you want to export under "Inputs". In field "Category" enter the Mestro-ID of each tag
- Paste the script below into "Data processing" under "Parameters"
- Enter the adress and property code in the script that match with Mestro's info
- Create an file export.
- Create an Sending to: metering@mestro.com. Subject must be unique e.g,. property name - customer
Script:
var output = new System.Text.StringBuilder(); //output används för export av data (t.ex.) .csv eller som indata till presentation.
var inputs = [INPUTS]; //Array av valda Insignaler/taggar
//Att fylla i
var adress = "xxxx";
var fastighetskod = "xxxx";
//Starttid för insamlingsperiod. .AddMonths(-1) för senaste månad. .AddDays(-7) senaste vecka, .AddDays(-1) senaste dygn.
var starttid = System.DateTime.Today.AddDays(-1);
//Stopptid för insamlingsperiod.
//Ange t.ex. System.DateTime.Today; om körningn körs efter 00:00, görs körningen före 00 kan System.DateTime.Today.AddDays(1) användas.
//Kan också anges i relation till starttid starttid.AddDays(1);
var stopptid = System.DateTime.Today; //
//intervall för hur ofta datapunkter ska beräknas, ändras genom att ändra starttid.AddMinutes(10) på följande ställen:
//var log = getTrendData(inputs[key].Name,starttid,starttid.AddMinutes(10))
//starttid = starttid.AddMinutes(10);
output.Append("Adress;" + adress + "\r\n");
output.Append("Fastighetskod;" + fastighetskod + "\r\n");
output.Append("Starttid;" + starttid.ToString("yyyy-MM-dd") + ";00:00:00" + "\r\n");
output.Append("Stopptid;" + stopptid.ToString("yyyy-MM-dd") + ";00:00:00" + "\r\n");
output.Append("Datum;Tid");
for (var key in inputs)
{
output.Append(";" + inputs[key].Name);
}
output.Append("\r\n");
output.Append("Mestro-ID;");
for (var key in inputs)
{
output.Append(";" + inputs[key].Category);
}
output.Append("\r\n");
output.Append("Enhet;");
for (var key in inputs)
{
output.Append(";" + inputs[key].Unit);
}
output.Append("\r\n");
output.Append("Mätslag;");
for (var key in inputs)
{
output.Append(";" + inputs[key].Description);
}
output.Append("\r\n");
while (starttid.Ticks < stopptid.Ticks)
{
output.Append(starttid.ToString("yyyy-MM-dd") + ";" + starttid.ToString("HH:mm:ss"));
for (var key in inputs)
{
var log = getTrendData(inputs[key].Name, starttid, starttid.AddMinutes(60));
if (log.Count > 0)
output.Append(";" + log[0].Value);
else
output.Append(";NaN");
}
output.Append("\r\n");
starttid = starttid.AddMinutes(60);
}
return output;
Tip
It is not necessary, but you can use a presentation script to display the report output in a more structured manner. Please see the script below:<script>
var data = `[OUTPUT]`;
data = data.replace(/\n/g,"<br>");
$(function() {
$("#output").html(data);
});
</script>
<div id="output"></div>