init
This commit is contained in:
142
HelloWorld.js
Normal file
142
HelloWorld.js
Normal file
@@ -0,0 +1,142 @@
|
||||
//GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007
|
||||
//More information: https://www.gnu.org/licenses/gpl-3.0.txt
|
||||
//ABSOLUTELY NO WARRANTY!!!
|
||||
//Made by Ostfriese
|
||||
|
||||
//############################## Config ############################
|
||||
let Config = {
|
||||
temp_diff: 2,
|
||||
temp_min: 12,
|
||||
id_inside: 100,
|
||||
hum_target: 55,
|
||||
interval: 10, // 2 seconds is the minimum interval
|
||||
Tank_Sensor: 0, //Sensor Wasserstand
|
||||
comp: 0, // Kompressor
|
||||
FanH: 1, // Luefter Schnell
|
||||
FanL: 2, // Luefter langsam
|
||||
LedG: 3,
|
||||
LedR: 4,
|
||||
LedB: 5
|
||||
}
|
||||
//############################## Config end ############################
|
||||
|
||||
function LedsOff() {
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.LedR) + '?turn=on'
|
||||
});
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.LedG) + '?turn=on'
|
||||
});
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.LedB) + '?turn=on'
|
||||
});
|
||||
}
|
||||
|
||||
function Gruen() {
|
||||
LedsOff();
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.LedG) + '?turn=off'
|
||||
});
|
||||
}
|
||||
|
||||
function Rot() {
|
||||
LedsOff();
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.LedR) + '?turn=off'
|
||||
});
|
||||
}
|
||||
|
||||
function Blau() {
|
||||
LedsOff();
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.LedB) + '?turn=off'
|
||||
});
|
||||
}
|
||||
|
||||
function allesAus() {
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.comp) + '?turn=off'
|
||||
});
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.FanH) + '?turn=off'
|
||||
});
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.FanL) + '?turn=off'
|
||||
});
|
||||
LedsOff();
|
||||
}
|
||||
|
||||
function niedrigeStufe() {
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.comp) + '?turn=on'
|
||||
});
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.FanH) + '?turn=off'
|
||||
});
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.FanL) + '?turn=on'
|
||||
});
|
||||
Blau();
|
||||
}
|
||||
|
||||
function hoheStufe() {
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.comp) + '?turn=on'
|
||||
});
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.FanH) + '?turn=on'
|
||||
});
|
||||
Shelly.call("http.get", {
|
||||
url: 'http://127.0.0.1/relay/' + JSON.stringify(Config.FanL) + '?turn=off'
|
||||
});
|
||||
Blau();
|
||||
}
|
||||
|
||||
function watch() {
|
||||
try {
|
||||
temperature = Shelly.getComponentStatus('Temperature', Config.id_inside).tC;
|
||||
humidity = Shelly.getComponentStatus('Humidity', Config.id_inside).rh;
|
||||
tank = Shelly.getComponentStatus('Input', Config.Tank_Sensor).state;
|
||||
//print('Temp. inside =',temp_inside);
|
||||
print('Hum. Inside =', humidity);
|
||||
print('tank= ', tank);
|
||||
//inside <= minimum
|
||||
if (humidity <= Config.hum_target) {
|
||||
//allesAus();
|
||||
Gruen();
|
||||
print('Relay(', Config.comp, ') off. Inside hum <= ', Config.hum_target);
|
||||
} else {
|
||||
delta = humidity - Config.hum_target;
|
||||
//delta more than or equal Config.temp_diff
|
||||
//if (!tank && delta >= Config.temp_diff) {
|
||||
//niedrigeStufe();
|
||||
Blau();
|
||||
// print('Relay(', Config.comp, ') on. Delta >= ', Config.hum_target);
|
||||
}
|
||||
//delta less than Config.temp_diff
|
||||
//else {
|
||||
//allesAus();
|
||||
// Gruen();
|
||||
// print('Relay(', Config.comp, ') off. Delta < ', Config.hum_target);
|
||||
//}
|
||||
//}
|
||||
print('\n')
|
||||
} catch (err) {
|
||||
//allesAus();
|
||||
//Rot();
|
||||
print(err);
|
||||
}
|
||||
}
|
||||
|
||||
function start() {
|
||||
LedsOff();
|
||||
//allesAus();
|
||||
// do a first shot
|
||||
print('Starting....');
|
||||
watch();
|
||||
// set watch timer to configured value
|
||||
Timer.set(Config.interval * 1000, true, watch);
|
||||
}
|
||||
|
||||
// schedule script start for 1 second
|
||||
Timer.set(1000, false, start);
|
||||
Reference in New Issue
Block a user