Skapa och använda ett eget funktionsbibliotek
Skapa och använda ett eget funktionsbibliotek
Min tanke vara skapa en fil med olika funktioner, tex en log funktion och en mail funktion. För att sedan göra funktionsanrop från de bsh filer som jag skapat i Nexahome, text 1.bsh. Har gjort några tester men inte fått det att fungera. Funktionerna som ligger i en annan fil hittas inte. Är det någon som gjort något liknande och lyckats?
Re: Skapa och använda ett eget funktionsbibliotek
Att anropa andra bsh filer och skicka med parametrar.
level_cmd.bsh
Code: Select all
execFile("level_cmd.bsh");
execParam("set");
execParam("15");
execParam("50%");
execFile("level_cmd.bsh");
execParam("set");
execParam("5");
execParam("on");
Code: Select all
bsh_file = "level_cmd";
params = getData(bsh_file + ".params_");
if (params != null) {
var len = Integer.parseInt(params);
if (len >= 2) {
String cmd = getData(bsh_file + ".param1_");
String device = getData(bsh_file + ".param2_");
if (cmd.equals("set") && len >= 3) {
levelNew = getData(bsh_file + ".param3_").toLowerCase();
percent = levelNew.endsWith("%");
levelCurrent = getDeviceLevel(device);
if (percent) {
levelCurrent = levelCurrent + "%";
} else {
if (levelCurrent.equals("100")) {
levelCurrent = "on";
} else {
levelCurrent = "off";
}
}
setData(level_cmd + "." + device + ".level", levelCurrent);
if (percent) {
deviceLevel(device, levelNew);
} else if (levelNew.equals("on")) {
deviceOn(device);
} else {
deviceOff(device);
}
} else if (cmd.equals("restore")) {
levelPrevious = getData(level_cmd + "." + device + ".level");
if (levelPrevious != null) {
percent = levelPrevious.endsWith("%");
if (percent) {
deviceLevel(device, levelPrevious);
} else if (levelPrevious.equals("on")) {
deviceOn(device);
} else {
deviceOff(device);
}
}
}
}
}
Henrik | http://easyhomeauto.se