Compare commits
7 commits
3185b5ba27
...
c79e15d7a1
Author | SHA1 | Date | |
---|---|---|---|
|
c79e15d7a1 | ||
|
91d2d867b0 | ||
|
88b738ac75 | ||
|
bb0c390937 | ||
|
dbaa21bd30 | ||
|
8deac5fc15 | ||
|
df215a2c16 |
5 changed files with 72 additions and 64 deletions
15
.vscode/arduino.json
vendored
Normal file
15
.vscode/arduino.json
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"configuration": "xtal=80,vt=flash,exception=disabled,stacksmash=disabled,ssl=all,mmu=3232,non32xfer=fast,eesz=4M2M,led=2,ip=lm2f,dbg=Disabled,lvl=None____,wipe=none,baud=460800",
|
||||
"board": "esp8266:esp8266:nodemcuv2",
|
||||
"port": "/dev/tty.usbserial-110",
|
||||
"programmer": "AVRISP mkII",
|
||||
"sketch": "firmware/firmware.ino",
|
||||
"includePath": [
|
||||
"/Users/klaute/Documents/Arduino/libraries",
|
||||
"/Applications/Arduino.app/Contents/Java/hardware/tools/avr/avr/include",
|
||||
"/Applications/Arduino.app/Contents/Java/hardware/tools/avr/avr/lib",
|
||||
"/Applications/Arduino.app//Contents/Java/hardware/arduino/avr/libraries"
|
||||
"/Applications/Arduino.app/Contents/Java/hardware/tools/avr/include",
|
||||
"/Applications/Arduino.app/Contents/Java/hardware/tools/avr/x86_64-apple-darwin16.1.0/avr/include"
|
||||
]
|
||||
}
|
|
@ -272,15 +272,23 @@ if (document.getElementById('tab-tde').classList.contains('visible')) {
|
|||
loadTCGraphData();
|
||||
}
|
||||
}, 2000);
|
||||
function updateLightState() {
|
||||
console.log('----> setting bri and power switch <----');
|
||||
function updateLightStateAndPWMValues() {
|
||||
console.log('----> setting bri, power switch, and pwm data <----');
|
||||
const promises = [];
|
||||
for (let i = 1; i <= {{LIGHT_COUNT}}; i++) {
|
||||
const lightURL = `http://{{IP_ADDRESS}}/state?light=${i}`;
|
||||
fetch(lightURL).then(response => response.json()).then(data => {
|
||||
promises.push(fetch(lightURL).then(response => response.json()));
|
||||
}
|
||||
Promise.all(promises)
|
||||
.then(dataArray => {
|
||||
for (let i = 1; i <= {{LIGHT_COUNT}}; i++) {
|
||||
const data = dataArray[i - 1];
|
||||
const briSlider = document.getElementById(`bri${i - 1}`);
|
||||
const briSliderVal = document.getElementById(`bri${i - 1}_val`);
|
||||
const onLinkOn = document.getElementById(`on${i - 1}_on`);
|
||||
const onLinkOff = document.getElementById(`on${i - 1}_off`);
|
||||
const pwmElement = document.getElementById(`light${i - 1}_pwm`);
|
||||
const pwmElementTxt = document.getElementById(`light${i - 1}_pwm_txt`);
|
||||
briSlider.value = data.bri;
|
||||
briSliderVal.innerHTML = (Math.round((data.bri * 100.0 / 255.0) * 100) / 100).toFixed(2);
|
||||
if (data.on == true) {
|
||||
|
@ -290,30 +298,18 @@ onLinkOff.classList.remove('pure-button-primary');
|
|||
onLinkOn.classList.remove('pure-button-primary');
|
||||
onLinkOff.classList.add('pure-button-primary');
|
||||
}
|
||||
}).catch(error => console.error(error));
|
||||
}
|
||||
}
|
||||
setInterval(updateLightState, 10000);
|
||||
updateLightState();
|
||||
function updatePWMValues() {
|
||||
console.log('----> setting pwm data <----');
|
||||
for (let i = 0; i < {{LIGHT_COUNT}}; i++) {
|
||||
const lightID = i + 1;
|
||||
const pwmElement = document.getElementById(`light${i}_pwm`);
|
||||
const pwmElementTxt = document.getElementById(`light${i}_pwm_txt`);
|
||||
if (pwmElement) {
|
||||
const url = `http://{{IP_ADDRESS}}/state?light=${lightID}`;
|
||||
fetch(url).then(response => response.json()).then(data => {
|
||||
const pwmValue = ((Math.round((data.curpwm - ((data.curpwm >= {{PWM_MIN}}) ? {{PWM_MIN}} : 0)) / {{PWM_MAX}} * 10000) / 100).toFixed(2));
|
||||
pwmElement.innerText = pwmValue.toString();
|
||||
pwmElement.value = pwmValue;
|
||||
pwmElementTxt.innerText = pwmValue.toString();
|
||||
}).catch(error => console.error(error));
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch(error => console.error(error));
|
||||
}
|
||||
updatePWMValues();
|
||||
setInterval(updatePWMValues, 5000);
|
||||
updateLightStateAndPWMValues();
|
||||
setInterval(updateLightStateAndPWMValues, 5000);
|
||||
var links = document.querySelectorAll('[id^="on"][id$="_off"]');
|
||||
links.forEach(function(link) {
|
||||
link.addEventListener('click', function(event) {
|
||||
|
@ -354,7 +350,7 @@ console.log('Error while sending data to server.');
|
|||
}
|
||||
};
|
||||
xhr.send();
|
||||
updateLightState();
|
||||
updateLightStateAndPWMValues();
|
||||
this.classList.add('pure-button-primary');
|
||||
document.getElementById('on'+id+'_on').classList.remove('pure-button-primary');
|
||||
});
|
||||
|
@ -399,7 +395,7 @@ console.log('Error while sending data to server.');
|
|||
}
|
||||
};
|
||||
xhr.send();
|
||||
updateLightState();
|
||||
updateLightStateAndPWMValues();
|
||||
this.classList.add('pure-button-primary');
|
||||
document.getElementById('on'+id+'_off').classList.remove('pure-button-primary');
|
||||
});
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<a href="#" id="save-button" class="pure-button pure-button-primary" onclick="sendDataToServer();">save</a>
|
||||
</div>
|
||||
</div> <!-- end of tab-tde -->
|
||||
|
|
|
@ -317,50 +317,49 @@ setInterval(function() {
|
|||
}
|
||||
}, 2000);
|
||||
|
||||
function updateLightState() {
|
||||
console.log('----> setting bri and power switch <----');
|
||||
function updateLightStateAndPWMValues() {
|
||||
console.log('----> setting bri, power switch, and pwm data <----');
|
||||
const promises = [];
|
||||
|
||||
for (let i = 1; i <= {{LIGHT_COUNT}}; i++) {
|
||||
const lightURL = `http://{{IP_ADDRESS}}/state?light=${i}`;
|
||||
fetch(lightURL).then(response => response.json()).then(data => {
|
||||
const briSlider = document.getElementById(`bri${i - 1}`);
|
||||
const briSliderVal = document.getElementById(`bri${i - 1}_val`);
|
||||
const onLinkOn = document.getElementById(`on${i - 1}_on`);
|
||||
const onLinkOff = document.getElementById(`on${i - 1}_off`);
|
||||
briSlider.value = data.bri;
|
||||
briSliderVal.innerHTML = (Math.round((data.bri * 100.0 / 255.0) * 100) / 100).toFixed(2);
|
||||
if (data.on == true) {
|
||||
onLinkOn.classList.add('pure-button-primary');
|
||||
onLinkOff.classList.remove('pure-button-primary');
|
||||
} else {
|
||||
onLinkOn.classList.remove('pure-button-primary');
|
||||
onLinkOff.classList.add('pure-button-primary');
|
||||
}
|
||||
}).catch(error => console.error(error));
|
||||
promises.push(fetch(lightURL).then(response => response.json()));
|
||||
}
|
||||
}
|
||||
setInterval(updateLightState, 10000);
|
||||
updateLightState();
|
||||
|
||||
function updatePWMValues() {
|
||||
console.log('----> setting pwm data <----');
|
||||
for (let i = 0; i < {{LIGHT_COUNT}}; i++) {
|
||||
const lightID = i + 1;
|
||||
const pwmElement = document.getElementById(`light${i}_pwm`);
|
||||
const pwmElementTxt = document.getElementById(`light${i}_pwm_txt`);
|
||||
if (pwmElement) {
|
||||
const url = `http://{{IP_ADDRESS}}/state?light=${lightID}`;
|
||||
fetch(url).then(response => response.json()).then(data => {
|
||||
const pwmValue = ((Math.round((data.curpwm - ((data.curpwm >= {{PWM_MIN}}) ? {{PWM_MIN}} : 0)) / {{PWM_MAX}} * 10000) / 100).toFixed(2));
|
||||
//console.log('curpwm[' + i + '] = ' + data.curpwm + ' = ' + pwmValue);
|
||||
pwmElement.innerText = pwmValue.toString();
|
||||
pwmElement.value = pwmValue;
|
||||
pwmElementTxt.innerText = pwmValue.toString();
|
||||
}).catch(error => console.error(error));
|
||||
}
|
||||
}
|
||||
Promise.all(promises)
|
||||
.then(dataArray => {
|
||||
for (let i = 1; i <= {{LIGHT_COUNT}}; i++) {
|
||||
const data = dataArray[i - 1];
|
||||
const briSlider = document.getElementById(`bri${i - 1}`);
|
||||
const briSliderVal = document.getElementById(`bri${i - 1}_val`);
|
||||
const onLinkOn = document.getElementById(`on${i - 1}_on`);
|
||||
const onLinkOff = document.getElementById(`on${i - 1}_off`);
|
||||
const pwmElement = document.getElementById(`light${i - 1}_pwm`);
|
||||
const pwmElementTxt = document.getElementById(`light${i - 1}_pwm_txt`);
|
||||
|
||||
briSlider.value = data.bri;
|
||||
briSliderVal.innerHTML = (Math.round((data.bri * 100.0 / 255.0) * 100) / 100).toFixed(2);
|
||||
if (data.on == true) {
|
||||
onLinkOn.classList.add('pure-button-primary');
|
||||
onLinkOff.classList.remove('pure-button-primary');
|
||||
} else {
|
||||
onLinkOn.classList.remove('pure-button-primary');
|
||||
onLinkOff.classList.add('pure-button-primary');
|
||||
}
|
||||
|
||||
if (pwmElement) {
|
||||
const pwmValue = ((Math.round((data.curpwm - ((data.curpwm >= {{PWM_MIN}}) ? {{PWM_MIN}} : 0)) / {{PWM_MAX}} * 10000) / 100).toFixed(2));
|
||||
pwmElement.innerText = pwmValue.toString();
|
||||
pwmElement.value = pwmValue;
|
||||
pwmElementTxt.innerText = pwmValue.toString();
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch(error => console.error(error));
|
||||
}
|
||||
updatePWMValues();
|
||||
setInterval(updatePWMValues, 5000);
|
||||
|
||||
updateLightStateAndPWMValues();
|
||||
setInterval(updateLightStateAndPWMValues, 5000);
|
||||
|
||||
// Suche nach allen Links auf der Seite mit IDs von on0_off bis on3_off
|
||||
var links = document.querySelectorAll('[id^="on"][id$="_off"]');
|
||||
|
@ -410,7 +409,7 @@ links.forEach(function(link) {
|
|||
|
||||
// Sende die Anfrage im Hintergrund
|
||||
xhr.send();
|
||||
updateLightState();
|
||||
updateLightStateAndPWMValues();
|
||||
this.classList.add('pure-button-primary');
|
||||
document.getElementById('on'+id+'_on').classList.remove('pure-button-primary');
|
||||
});
|
||||
|
@ -463,7 +462,7 @@ links.forEach(function(link) {
|
|||
|
||||
// Sende die Anfrage im Hintergrund
|
||||
xhr.send();
|
||||
updateLightState();
|
||||
updateLightStateAndPWMValues();
|
||||
this.classList.add('pure-button-primary');
|
||||
document.getElementById('on'+id+'_off').classList.remove('pure-button-primary');
|
||||
});
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
</tr>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<a href="#" id="save-button" class="pure-button pure-button-primary" onclick="sendDataToServer();">save</a>
|
||||
</div>
|
||||
</div> <!-- end of tab-tde -->
|
||||
|
|
Loading…
Reference in a new issue