- Auszeit-Zeile nur anzeigen, wenn per WebApp geschaltet wurde public/javascripts/version.js - angepasst routes/switch.js - TOPIC in Environment - retur.offtime löschen, wenn OFF empfangen wird
88 lines
2.7 KiB
JavaScript
88 lines
2.7 KiB
JavaScript
//
|
|
|
|
// Nach dem Laden des Dokumentes:
|
|
$(document).ready(function() {
|
|
console.log("Es geht los");
|
|
|
|
const URL = "switch/";
|
|
const checktime = 5000000; // alle 30sec Zustand prüfen
|
|
|
|
let status = "";
|
|
let tr;
|
|
|
|
|
|
$('#versn').html("V " + VERSION + ' ' + VDATE); // Vesion anzeigen
|
|
|
|
|
|
$("#auszeile").hide(); // Meldezeile AUS schalten
|
|
|
|
// sendCommand(URL,"PowerOnState%200"); // OFF bei Power ON
|
|
// sendCommand(URL,"PulseTime%20"+(brenndauer+100)); // Brenndauer einstellen
|
|
|
|
let interval = setInterval(sendTimedCommand, 1000); // alle Sekunde pollen
|
|
|
|
document.addEventListener('visibilitychange', function (event) {
|
|
if (!document.hidden) {
|
|
interval = setInterval(sendTimedCommand, 1000);
|
|
} else {
|
|
clearTimeout(interval); // The page is hidden.
|
|
}
|
|
});
|
|
|
|
|
|
sendCommand(URL, "get_status")
|
|
|
|
$("#schalter").click(function () {
|
|
let message;
|
|
if (status == 'ON') {
|
|
console.log("Sende OFF")
|
|
sendCommand(URL, "switch_off")
|
|
} else {
|
|
console.log("Sende ON")
|
|
sendCommand(URL, "switch_on")
|
|
}
|
|
});
|
|
|
|
function sendCommand(url, cmnd) {
|
|
console.log("sendCommand", cmnd);
|
|
const p = new Promise((resolve, reject) => {
|
|
$.getJSON(url + cmnd, function (data, err) { // AJAX Call
|
|
if (err != 'success') {
|
|
reject(err);
|
|
alert("Fehler <br />" + err); // if error, show it
|
|
} else {
|
|
console.log("gekommen: ", data);
|
|
resolve(data);
|
|
}
|
|
});
|
|
});
|
|
return p;
|
|
}
|
|
|
|
function sendTimedCommand() {
|
|
// console.log("time check");
|
|
sendCommand(URL, 'check')
|
|
.then(data => {
|
|
// console.log("Timed Status= ", st);
|
|
status = data.relais;
|
|
if (status != 'pending') {
|
|
clearTimeout(tr);
|
|
if (status == 'ON') {
|
|
$('#schalter').html('Laufschrift <b>AUS</b> schalten');
|
|
$('#status').text('EIN');
|
|
$('#laufzeile').addClass('machrot');
|
|
if(data.offtime != undefined) {
|
|
$('#auszeit').text(data.offtime);
|
|
$('#auszeile').show();
|
|
}
|
|
} else {
|
|
$('#schalter').html('Laufschrift <b>EIN</b> schalten');
|
|
$('#status').text('AUS');
|
|
$('#laufzeile').removeClass('machrot');
|
|
$('#auszeile').hide();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
}); |