Files
laufschrift/public/javascripts/laufschrift.js
Reinhard X. Fürst 846bcf01ec public/javascripts/laufschrift.js
- 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
2019-04-10 17:38:23 +02:00

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();
}
}
});
}
});