import java.util.*;
import java.lang.*;
import java.io.*;
//////////////////////////////////////////////////////////////
// Benutzt das C-Programm isdndial
//////////////////////////////////////////////////////////////
public class tempCheck
{
static final String
CmdMeasure ="/usr/local/bin/digitemp -a -r750";
static final String
CmdInit ="/usr/local/bin/digitemp -s/dev/ttyS1 -i";
FileWriter F;
public tempCheck()
{
while(true)
{
try
{
String line;
Process p =
Runtime.getRuntime().exec(CmdMeasure);
p.waitFor();
BufferedReader input = new BufferedReader(
new InputStreamReader(
p.getInputStream()));
F=new FileWriter("/usr/local/tmp/digitempLog.txt");
while ((line = input.readLine()) != null)
{
System.out.println(line);
F.write(line+"\n");
// Heizungsrücklauf
if (line.indexOf("Sensor 1")!=-1)
{
int
idx=line.indexOf("C:");
String
ts=line.substring(idx+2,idx+6);
double
td=Double.parseDouble(ts);
if (td<10.0)
createMail("Heizung", line);
}
if (line.indexOf("Sensor 2")!=-1)
{
...
}
if (line.indexOf("Sensor 3")!=-1)
{
...
}
// Raumtemperatur
if (line.indexOf("Sensor 0")!=-1)
{
int
idx=line.indexOf("C:");
String
ts=line.substring(idx+2,idx+6);
double
td=Double.parseDouble(ts);
...
}
}
input.close();
Thread.sleep(180000);
}
catch (Exception err)
{
System.out.println("Fehler: " + err.toString());
err.printStackTrace();
}
}
}
void createMail(String Subject,String Data)
{
try
{
Data+="\n.\n";
Process
P=Runtime.getRuntime().exec("isdndial ...");
P.waitFor();
System.out.println(Data);
Process
p2 = Runtime.getRuntime().exec("mail xxxxxxxxx@yyyyyyyy -s " + Sub +
"\n");
BufferedWriter InputP2=new BufferedWriter(new
OutputStreamWriter(p2.getOutputStream()));
InputP2.write(Data);InputP2.close();
p2.waitFor();
// wait
180000 ms 180 sec = 3 min
Thread.sleep(180000);
P=Runtime.getRuntime().exec("isdnhang ...");
}catch (Exception e){System.out.println(e);}
}
public static void
main(String args[])
{
try
{
Process p = Runtime.getRuntime().exec(CmdInit);
p.waitFor();
System.out.println("Init complete");
} catch
(Exception e){System.out.println(e);}
tempCheck T=new
tempCheck();
}
}