var links = document.querySelectorAll('[id^="tc_on"]'); links.forEach(function(link) { link.addEventListener('click', function(event) { event.preventDefault(); var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://{{IP_ADDRESS}}/?tc=true', true); xhr.send(); document.getElementById('tc_on').classList.add('pure-button-primary'); document.getElementById('tc_off').classList.remove('pure-button-primary'); }); }); var links = document.querySelectorAll('[id^="tc_off"]'); links.forEach(function(link) { link.addEventListener('click', function(event) { event.preventDefault(); var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://{{IP_ADDRESS}}/?tc=false', true); xhr.send(); document.getElementById('tc_off').classList.add('pure-button-primary'); document.getElementById('tc_on').classList.remove('pure-button-primary'); }); }); let timeoutId; function sendSliderValue(x) { x = x - 1; clearTimeout(timeoutId); timeoutId = setTimeout(() => { var value = document.getElementById(`bri${x}`).value; var url = `http://{{IP_ADDRESS}}/?bri${x}=${value}`; fetch(url).then(response => { if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } }).catch(error => { console.error(`Error sending slider value to ${url}: ${error}`); }); }, 500); }