mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
Simplified Hue Connection (#225)
This commit is contained in:
@@ -5,13 +5,14 @@
|
||||
<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>
|
||||
<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>
|
||||
<div class="form-group">
|
||||
<label for="ip">IP:</label>
|
||||
<input type="text" class="form-control" id="ip">
|
||||
<label for="user" lang="en" data-lang-token="hue_label_username">Username:</label>
|
||||
<input type="text" class="form-control" id="user" disabled>
|
||||
<br />
|
||||
<button type="button" class="btn btn-success" id="create_user_first"> <i class="fa fa-floppy-o"></i><span lang="en" data-lang-token="hue_button_create_user_token"> Create User</span></button>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -32,13 +33,13 @@
|
||||
<h4 class="modal-title">Hue Bridge</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<span lang="en" data-lang-token="hue_press_link_modal">Press link button on the Hue Bridge now and confirm with the "Pair" button.</span> <br /><br />
|
||||
<span id="link_not_pressed" style="display:none; color: red" lang="en" data-lang-token="hue_press_link_modal_failure">Please press link button on your Hue Bridge.</span>
|
||||
<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>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<center>
|
||||
<button type="button" class="btn btn-success" id="create_user_second"> <i class="fa fa-floppy-o"></i><span lang="en" data-lang-token="hue_button_pair"> Pair</span>
|
||||
</center>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -53,9 +54,11 @@
|
||||
}
|
||||
|
||||
|
||||
$("#create_user_first").on("click", function() {
|
||||
$("#create_user").on("click", function() {
|
||||
var connectionRetries = 15;
|
||||
var data = {"devicetype":"hyperion#"+Date.now()};
|
||||
$.ajax({
|
||||
var UserInterval = setInterval(function(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: 'http://'+$("#ip").val()+'/api',
|
||||
processData: false,
|
||||
@@ -63,42 +66,39 @@
|
||||
contentType: 'application/json',
|
||||
data: JSON.stringify(data),
|
||||
success: function(r) {
|
||||
$("#ip_alert").hide();
|
||||
if (typeof r[0].error != 'undefined') {
|
||||
if (r[0].error.description == "link button not pressed"){
|
||||
$('#pairmodal').modal('show')
|
||||
}
|
||||
}
|
||||
},
|
||||
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);
|
||||
}
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpRequest, textStatus, errorThrown) {
|
||||
$("#ip_alert").show();
|
||||
clearInterval(UserInterval);
|
||||
}
|
||||
});
|
||||
},1000);
|
||||
});
|
||||
|
||||
|
||||
$("#create_user_second").on("click", function() {
|
||||
var data = {"devicetype":"my_hue_app#iphone pet2er"};
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: 'http://'+$("#ip").val()+'/api',
|
||||
processData: false,
|
||||
contentType: 'application/json',
|
||||
data: JSON.stringify(data),
|
||||
success: function(r) {
|
||||
if (typeof r[0].error != 'undefined') {
|
||||
$("#link_not_pressed").show();
|
||||
}
|
||||
if (typeof r[0].success != 'undefined') {
|
||||
$('#pairmodal').modal('hide');
|
||||
$('#user').val(r[0].success.username);
|
||||
$("#link_not_pressed").hide();
|
||||
get_hue_lights();
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function abortConnection(UserInterval){
|
||||
clearInterval(UserInterval);
|
||||
$("#abortConnection").show();
|
||||
$('#pairmodal').modal('hide');
|
||||
}
|
||||
|
||||
function get_hue_lights(){
|
||||
$.ajax({
|
||||
|
Reference in New Issue
Block a user