Nu kender vi Nøglen vi skal kigge på for at får status på relæ. Definere vi ved at bruge res.output.
// For at få alt data må vi bruge JSON
Shelly.call("switch.getstatus", {id:0}, function(res){
print(res.output)
})
→
// Fortæller relæ er slukket ved at angive false
false
↓
Hvis man skal bruge res.output flere gange, eller hvis udtrykket havde været langt. Kan det være en fordel at tilføje værdien til en variabel.
// For at få alt data må vi bruge JSON
Shelly.call("switch.getstatus", {id:0}, function(res){
let status = res.output
print(status)
})
→
// Fortæller relæ er slukket ved at angive false
false
↓
For at få noget til at ske baseret på denne staus skal vi bruge if/else
Shelly.call("switch.getstatus", {id:0}, function(res){
let status = res.output
print(status)
if (status == true) {
print("Er tændt, så slukker"),
Shelly.call("switch.toggle", {id:0})
} else {
print("Er slukket, så tænder"),
Shelly.call("switch.toggle", {id:0})
}
})
→
true
Er tændt, så slukker
↓
Tilføje timer så det auto køre i interval. Pakket det tidligere ind i en function, så den nemt kan kaldes. og tilføjet Timer.set, der køre funktion hvert 5 sek.
function tid() {
Shelly.call("switch.getstatus", {id:0}, function(res){
if (res.output == true) {
print("Er tændt, så slukker"),
Shelly.call("switch.toggle", {id:0})
} else {
print("Er slukket, så tænder"),
Shelly.call("switch.toggle", {id:0})
}
});
}
//functionen er sat in her for at den skal køre med det samme når script starter
tid();
// Timer er sat ind og kalder functionen tid(), hvert 5 min
Timer.set(5000, true, function(){
tid();
})
→
Er slukket, så tænder
02:46:23
Er tændt, så slukker
02:46:26
Er slukket, så tænder
02:46:31
Er tændt, så slukker
02:46:36
Er slukket, så tænder