-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup_hue.html
51 lines (45 loc) · 1.77 KB
/
setup_hue.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<html lang="en">
<head>
<script>
function displayResult(result) {
var result_display = document.getElementById('result');
console.log(result);
result_display.appendChild(document.createTextNode(result));
result_display.appendChild(document.createElement('br'));
}
var reqLookup = new XMLHttpRequest();
reqLookup.open('GET', 'https://www.meethue.com/api/nupnp');
reqLookup.addEventListener("error", function () {
displayResult('something went wrong :/');
});
reqLookup.addEventListener('load', function () {
var result = JSON.parse(reqLookup.responseText);
if (result.length === 0) {
displayResult('Did not find a hue :/');
displayResult('Is the hue bridge turned on and in your network?');
displayResult('Can you see the bridge on https://www.meethue.com/api/nupnp?');
return;
}
var hue = result[0];
var hueAddr = hue.internalipaddress;
displayResult('Found Hue @ ' + hueAddr);
var reqApi = new XMLHttpRequest();
reqApi.open('POST', 'http://' + hueAddr + '/api');
reqApi.addEventListener('load', function () {
displayResult('Hue Response: ' + reqApi.responseText);
});
var reqApiParams = '{"devicetype":"hue_client"}';
reqApi.send(reqApiParams);
});
reqLookup.send();
</script>
<title>HowTo Setup Hue</title>
</head>
<body>
<div style="text-align: center;">
<h2>need to press button on hue bridge</h2>
<div id='result'></div>
<button type="submit" onClick="window.location.reload();">reload</button>
</div>
</body>
</html>