Börja med att:
1) lägga till en ny sensor (klicka på Device/Group/Sensor 'Add' knappen), skriv in ett namn och markera att det är en SENSOR
2) välj sedan "sensor" i 'Function' kolumnen
3) skriv "/home/pi/nexahome/1-wire.bsh" i 'Sensor Path' kolumnen
4) skriv in ett unikt id i 'Parameters' kolumnen, exempelvis "id:1-wire;model:temp"
5) starta om NexaHome
6) lägg till ett event kopplat till den nya sensorn, klicka på 'Add' (event) och se till att rätt device är vald samt HH=00, MM=0 och att 'Default' är markerad.
7) starta om NexaHome
Eventet läggs in för att starta exekvering av bsh filen och det kommer att repeteras var 5:e minut.
1-wire.bsh
Code: Select all
String csvFile = "/home/pi/nexahome/1-wire.csv";
String findRow = "510008014D026D10";
int findColumn = 2;
String delimiter = ",;\t ";
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 && line.indexOf(findRow) != -1) {
StringTokenizer st = new StringTokenizer(line, delimiter);
if (st.countTokens() >= findColumn) {
while (currentColumn < findColumn) {
st.nextToken();
currentColumn++;
}
outAppend(st.nextToken());
found = true;
} else {
line = null;
}
}
} while(line != null && !found);
if (line == null) {
errAppend("Unable to find value!");
}
in.close();
} catch(Exception e) {
errAppend(e.getMessage());
}
1-wire.csv
Code: Select all
"ROMId","Value","dd.mm.yyyy","hh:nn:ss",
"510008014D026D10",-8.82,26.01.2011,18:51:44,
"F60008014CF2B010",5.25,26.01.2011,18:51:41,
"FD0008014D2C1F10",2.75,26.01.2011,18:51:47,
"A000080192AAA610",15.75,26.01.2011,18:51:42,
"3C000801847A7710",-1.00,26.01.2011,18:51:46,
"5E00080192D3DD10",7.38,26.01.2011,18:51:45,
"8A000001112E6226-T",-2.47,26.01.2011,18:51:47,
"8A000001112E6226-DP",-4.76,26.01.2011,18:51:48,
"8A000001112E6226-H",85.01,26.01.2011,18:51:48,