// // 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
" + 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 AUS schalten'); $('#status').text('EIN'); $('#laufzeile').addClass('machrot'); if(data.offtime != undefined) { $('#auszeit').text(data.offtime); $('#auszeile').show(); } } else { $('#schalter').html('Laufschrift EIN schalten'); $('#status').text('AUS'); $('#laufzeile').removeClass('machrot'); $('#auszeile').hide(); } } }); } });