1) skapa filen save_temp.bsh med följande innehåll (skriv in din egen sensors device id på rad nummer två)
Code: Select all
import java.text.SimpleDateFormat;
String[] sensors = { "101" }; // device id
String[] values = new String[sensors.length]; // sensor values
String[] timestamps = new String[sensors.length]; // sensor timestamps
date = "";
error = false;
changed = false;
for (int ndx = 0; ndx < sensors.length; ndx++) {
sensor = sensors[ndx];
values[ndx] = getSensorValue(sensor);
if (values[ndx] != null) {
previous_value = getData("previous_value" + sensor);
previous_date = getData("previous_date" + sensor);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
date = sdf.format(Calendar.getInstance().getTime());
if (!values[ndx].equals(previous_value) || !date.equals(previous_date)) {
changed = true;
setData("previous_value" + sensor, values[ndx]);
setData("previous_date" + sensor, date);
timestamps[ndx] = getSensorTimestamp(sensor);
}
}
}
if (changed) {
try {
file = "temp_" + date + ".txt";
FileWriter fw = new FileWriter(file, true);
BufferedWriter out = new BufferedWriter(fw);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
date = sdf.format(Calendar.getInstance().getTime());
out.write(date);
for (int ndx = 0; ndx < sensors.length; ndx++) {
out.write("\t" + (values[ndx] != null ? values[ndx] : "").replace('.', ','));
}
out.write("\r\n");
out.close();
} catch (Exception e) {
error = true;
echo("Error: " + e.getMessage());
}
}
if (!error) {
hideOutput();
}
startTimer("save_temp", 60);
2) avsluta NexaHome
3) skapa filen start.bsh om du inte redan har en fil med detta namn
4) lägg till följande rad i filen start.bsh
Code: Select all
startTimer("save_temp", 60);
Samt presenterar datat i Excel genom att kopiera in allt som skrivs till textfilen:
Använd gärna denna Excel-fil som mall:
http://nexahome.se/Temp_YYYY-MM-DD.xlsx
Jag har stoppat in temperaturgivarens känselkropp (clas ohlson 36-1797) i röret där värmepumpen skickar luften ut ur huset.
Se även "Tips: Att visa sensordata grafiskt"
http://www.telldus.com/forum/viewtopic. ... 031#p15031
Edit (2012-09-14 / 2012-09-30): Beskrivning förtydligad, lade in den slutgiltiga versionen av save_temp.bsh här i denna tråds första inlägg.
För att logga fler sensorer så lägger man till dessa på rad nummer två i filen save_temp.bsh enligt följande exempel.
String[] sensors = { "101", "102", "103" }; // device id