Hej
Här är den fil som kombinerar filen sensor.bsh och check_temp.bsh
Som detta gör det möjligt för att läsa data från en CSV-fil och kontrollera utrustning baserat på dessa data.
Jag gjorde det anpassa befintliga filer på forumet, jag har uppfunnit något.
filen sensor_3.bsh
Code: Select all
echo("Bonjour");
// modifier le chemin et le nom de fichier si necessaire
String csvFile = "/Nexahome/sortie.csv";
int findRow = 1;
int findColumn = 1;
String delimiter = ",;\t ";
temp = 0;
int currentRow = 1;
int currentColumn = 1;
boolean found = false;
try {
BufferedReader in;
in = new BufferedReader(new FileReader(csvFile));
String line = null;
do {
line = in.readLine();
if (line != null) {
if (currentRow == findRow) {
StringTokenizer st = new StringTokenizer(line, delimiter);
if (st.countTokens() >= findColumn) {
while (currentColumn < findColumn) {
st.nextToken();
currentColumn++;
}
//echo(st.nextToken());
temp=(st.nextToken());
//echo(temp);
found = true;
} else {
line = null;
}
}
currentRow++;
}
} while(line != null && !found);
if (line == null) {
echo("Unable to find value!");
}
in.close();
} catch(Exception e) {
echo(e.getMessage());
}
temp_timer = "sensor_3";
timeout = 60; // sekunder
//sensor = "102";
device = "15";
//value = getSensorValue(sensor);
value = temp;
if (value != null) {
echo(value);
//timestamp = getSensorTimestamp(sensor);
//echo(timestamp);
float f = Float.parseFloat(value);
// "temperature a regler"
if (f > 10.0) {
if (deviceIsOn(device)) {
deviceOff(device); }
}
// "temperature a regler"
if (f < 10.0) {
if (deviceIsOff(device)) {
deviceOn(device); }
}
}
startTimer(temp_timer, timeout);