2016-08-15 13:51:41 +02:00
< div class = "container-fluid" >
< div class = "row" >
< div class = "col-lg-12" >
2016-08-16 00:20:31 +02:00
< h1 class = "page-header" lang = "en" data-lang-token = "main_menu_huebridge_token" > Hue Bridge< / h1 >
2016-08-15 13:51:41 +02:00
< div class = "col-lg-12" >
< div class = "col-lg-6" >
< span id = "ip_alert" style = "display:none; color:red; font-weight: bold;" lang = "en" data-lang-token = "hue_failure_ip_token" > Please check your IP Address.< / span >
2016-09-06 09:53:28 +02:00
< span id = "abortConnection" style = "display:none; color:red; font-weight: bold;" lang = "en" data-lang-token = "hue_failure_connection_token" > Connection Timeout. Please press the button in time.< / span >
2016-08-15 13:51:41 +02:00
< div class = "form-group" >
< label for = "ip" > IP:< / label >
< input type = "text" class = "form-control" id = "ip" >
2016-08-16 00:20:31 +02:00
< label for = "user" lang = "en" data-lang-token = "hue_label_username" > Username:< / label >
2016-08-15 13:51:41 +02:00
< input type = "text" class = "form-control" id = "user" disabled >
< br / >
2016-09-06 09:53:28 +02:00
< button type = "button" class = "btn btn-success" id = "create_user" > < i class = "fa fa-floppy-o" > < / i > < span lang = "en" data-lang-token = "hue_button_create_user_token" > Create User< / span > < / button >
2016-08-15 13:51:41 +02:00
< / div >
< / div >
< / div >
< / div >
< / div >
< hr / >
< div id = "hue_lights" class = "row" >
< / div >
< / div >
< div class = "modal fade bs-pair-modal-lg" id = "pairmodal" tabindex = "-1" role = "dialog" aria-labelledby = "mySmallModalLabel" >
< div class = "modal-dialog modal-lg" role = "document" >
< div class = "modal-content" >
2016-08-30 23:25:27 +02:00
< div class = "modal-header" >
< h4 class = "modal-title" > Hue Bridge< / h4 >
< / div >
< div class = "modal-body" >
2016-09-06 09:53:28 +02:00
< span lang = "en" data-lang-token = "hue_press_link_modal" > Please press link button on the Hue Bridge.< / span > < br / > < br / >
< center >
< span id = "connectionTime" > < / span > < br / >
< img src = "/img/hyperion/ring-alt.svg" >
< center >
2016-08-30 23:25:27 +02:00
< / div >
< div class = "modal-footer" >
< / div >
2016-08-15 13:51:41 +02:00
< / div >
< / div >
< / div >
< script >
$(document).ready( function() {
if($("#ip").val() != '' & & $("#user").val() != '') {
get_hue_lights();
}
2016-09-06 09:53:28 +02:00
$("#create_user").on("click", function() {
var connectionRetries = 15;
2016-08-15 13:51:41 +02:00
var data = {"devicetype":"hyperion#"+Date.now()};
2016-09-06 09:53:28 +02:00
var UserInterval = setInterval(function(){
$.ajax({
2016-08-15 13:51:41 +02:00
type: "POST",
url: 'http://'+$("#ip").val()+'/api',
processData: false,
timeout: 1000,
contentType: 'application/json',
data: JSON.stringify(data),
success: function(r) {
2016-09-06 09:53:28 +02:00
connectionRetries--;
$("#connectionTime").html(connectionRetries);
if(connectionRetries == 0) {
abortConnection(UserInterval);
}
else{
$("#abortConnection").hide();
$('#pairmodal').modal('show');
$("#ip_alert").hide();
if (typeof r[0].error != 'undefined') {
console.log("link not pressed");
}
if (typeof r[0].success != 'undefined') {
$('#pairmodal').modal('hide');
$('#user').val(r[0].success.username);
get_hue_lights();
clearInterval(UserInterval);
}
}
},
2016-08-15 13:51:41 +02:00
error: function(XMLHttpRequest, textStatus, errorThrown) {
$("#ip_alert").show();
2016-09-06 09:53:28 +02:00
clearInterval(UserInterval);
2016-08-15 13:51:41 +02:00
}
});
2016-09-06 09:53:28 +02:00
},1000);
2016-08-15 13:51:41 +02:00
});
2016-09-06 09:53:28 +02:00
function abortConnection(UserInterval){
clearInterval(UserInterval);
$("#abortConnection").show();
$('#pairmodal').modal('hide');
}
2016-08-15 13:51:41 +02:00
function get_hue_lights(){
$.ajax({
type: "GET",
url: 'http://'+$("#ip").val()+'/api/'+$("#user").val()+'/lights',
processData: false,
contentType: 'application/json',
success: function(r) {
for(var lightid in r){
//console.log(r[lightid].name);
$('#hue_lights').append('ID: '+lightid+' Name: '+r[lightid].name+'< br / > ');
}
}
});
}
});
< / script >