mirror of https://github.com/sfeakes/AqualinkD.git
Final Update for 2.3.4
parent
6768ca5d90
commit
9d580cb3d3
26
README.md
26
README.md
|
@ -56,9 +56,10 @@ https://github.com/sfeakes/AqualinkD/wiki/Jandy-Aqualink-RS485-protocol
|
||||||
</td></tr>
|
</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
### Simulator
|
### Simulators
|
||||||
Designed to mimic AqualinkRS6 All Button keypad and (like the keypad) is used to fully configure the master control panel<br>
|
Designed to mimic AqualinkRS devices, used to fully configure the master control panel<br>
|
||||||
<img src="extras/simulator.png?raw=true" width="550">
|
<img src="extras/onetouch_sim.png?raw=true">
|
||||||
|
<img src="extras/allbutton_sim.png?raw=true">
|
||||||
|
|
||||||
### In Apple Home app.
|
### In Apple Home app.
|
||||||
<img src="extras/HomeKit2.png?raw=true" width="800"></img>
|
<img src="extras/HomeKit2.png?raw=true" width="800"></img>
|
||||||
|
@ -71,13 +72,26 @@ Designed to mimic AqualinkRS6 All Button keypad and (like the keypad) is used to
|
||||||
## All Web interfaces.
|
## All Web interfaces.
|
||||||
* http://aqualink.ip/ <- (Standard WEB UI
|
* http://aqualink.ip/ <- (Standard WEB UI
|
||||||
* http://aqualink.ip/simple.html <- (Simple opion if you don't like the above)
|
* http://aqualink.ip/simple.html <- (Simple opion if you don't like the above)
|
||||||
* http://aqualink.ip/simulator.html <- (RS8 All Button Control Panel simulator)
|
* http://aqualink.ip/simulator.html <- (Displays all simulators in one page with tabs)
|
||||||
* http://aqualink.ip/debug.html <- (Turn on/off debug/serial debug & download logs)
|
* http://aqualink.ip/aqmanager.html <- (Manage AqualinkD configuration & runtime)
|
||||||
|
* http://aqualink.ip/allbutton_sim.html <- (All Button Simulator)
|
||||||
|
* http://aqualink.ip/onetouch_sim.html <- (One Touch Simulator)
|
||||||
|
* http://aqualink.ip/aquapda_sim.html <- (PDA simulator)
|
||||||
#<a name="release"></a>
|
#<a name="release"></a>
|
||||||
# ToDo (future release)
|
# ToDo (future release)
|
||||||
* Allow selecting of pre-defined VSP programs (Aqualink Touch & OneTouch protocols.)
|
* Allow selecting of pre-defined VSP programs (Aqualink Touch & OneTouch protocols.)
|
||||||
* Add set time to OneTouch protocol.
|
* Add set time to OneTouch protocol.
|
||||||
* Publish AqualinkD Management console. (Configure, Restart, run serial_logger) within AqualinkD.
|
* Update AqualinkD Management console to manage configuration
|
||||||
|
* Create iAqualink Touch Simulator
|
||||||
|
|
||||||
|
# Update in Release 2.3.4
|
||||||
|
* Changes for Docker
|
||||||
|
* Updated simulator code base and added new simulators for AllButton, OneTouch & PDA.
|
||||||
|
* <aqualinkd.ip>/allbutton_sim.html
|
||||||
|
* <aqualinkd.ip>/onetouch_sim.html
|
||||||
|
* <aqualinkd.ip>/aquapda_sim.html
|
||||||
|
* On PDA only panel AqualinkD has to share the same ID with the PDA simulator. There for AqualinkD will not respond to commands while simulator is active.
|
||||||
|
* Now you can completley program the control panel with the simulators removing the need to have Jandy device.
|
||||||
|
|
||||||
# Update in Release 2.3.3
|
# Update in Release 2.3.3
|
||||||
* Introduced Aqualink Manager UI http://aqualink.ip/aqmanager.html
|
* Introduced Aqualink Manager UI http://aqualink.ip/aqmanager.html
|
||||||
|
|
|
@ -1879,8 +1879,12 @@ void main_loop()
|
||||||
_aqualink_data.updated = process_packet(packet_buffer, packet_length);
|
_aqualink_data.updated = process_packet(packet_buffer, packet_length);
|
||||||
|
|
||||||
#ifdef AQ_PDA
|
#ifdef AQ_PDA
|
||||||
if (isPDA_PANEL)
|
if (isPDA_PANEL) {
|
||||||
caculate_ack_packet(rs_fd, packet_buffer, AQUAPDA);
|
// If we are in simulator mode, the sim has already send the ack
|
||||||
|
if (_aqualink_data.simulator_active == SIM_NONE) {
|
||||||
|
caculate_ack_packet(rs_fd, packet_buffer, AQUAPDA);
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
caculate_ack_packet(rs_fd, packet_buffer, ALLBUTTON);
|
caculate_ack_packet(rs_fd, packet_buffer, ALLBUTTON);
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
Binary file not shown.
|
@ -98,11 +98,12 @@ device_id=0x60
|
||||||
#extended_device_id_programming = no
|
#extended_device_id_programming = no
|
||||||
|
|
||||||
# Not documented
|
# Not documented
|
||||||
serial_readahead_b4_write = yes
|
#serial_readahead_b4_write = yes
|
||||||
mqtt_timed_update = no
|
#mqtt_timed_update = no
|
||||||
thread_netservices = yes
|
#thread_netservices = yes
|
||||||
rs_poll_speed = -1
|
#rs_poll_speed = -1
|
||||||
#rs_poll_speed = 1
|
#rs_poll_speed = 1
|
||||||
|
rs485_frame_delay = 4
|
||||||
|
|
||||||
# Your RS panel size. ie 4, 6, 8, 12 or 16 relates to RS4, RS6, RS8, RS12 or RS16.
|
# Your RS panel size. ie 4, 6, 8, 12 or 16 relates to RS4, RS6, RS8, RS12 or RS16.
|
||||||
# VERY important that you select 12 or 16, if you have either of those size panels.
|
# VERY important that you select 12 or 16, if you have either of those size panels.
|
||||||
|
|
|
@ -72,6 +72,13 @@ bool processSimulatorPacket(unsigned char *packet, int packet_length, struct aqu
|
||||||
|
|
||||||
bool start_simulator(struct aqualinkdata *aqdata, emulation_type type) {
|
bool start_simulator(struct aqualinkdata *aqdata, emulation_type type) {
|
||||||
|
|
||||||
|
// If we are a PDA panel and PDA sim, we are connected, so just set that
|
||||||
|
// since PDA only panel can only handle one remote ID.
|
||||||
|
if (isPDA_PANEL && type == AQUAPDA) {
|
||||||
|
aqdata->simulator_active = type;
|
||||||
|
aqdata->simulator_id = _aqconfig_.device_id;
|
||||||
|
}
|
||||||
|
|
||||||
// if type is same AND id is valid, sim is already started, their is nothing to do.
|
// if type is same AND id is valid, sim is already started, their is nothing to do.
|
||||||
if (aqdata->simulator_active == type) {
|
if (aqdata->simulator_active == type) {
|
||||||
if (aqdata->simulator_id >= 0x40 && aqdata->simulator_id <= 0x43) {
|
if (aqdata->simulator_id >= 0x40 && aqdata->simulator_id <= 0x43) {
|
||||||
|
|
|
@ -24,10 +24,15 @@
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.inner {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
.wrapper {
|
.wrapper {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
align-items: center;
|
||||||
/*position: absolute;
|
/*position: absolute;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -131,6 +136,14 @@
|
||||||
/*font-family: monospace;*/
|
/*font-family: monospace;*/
|
||||||
font-size: x-small;
|
font-size: x-small;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.hide {
|
||||||
|
display: none;
|
||||||
|
/*
|
||||||
|
filter: alpha(opacity=0);
|
||||||
|
opacity: 0.0;
|
||||||
|
*/
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<script type='text/javascript'>
|
<script type='text/javascript'>
|
||||||
|
@ -157,6 +170,8 @@
|
||||||
var _hlightcharstart = -1;
|
var _hlightcharstart = -1;
|
||||||
var _hlightcharend = -1;
|
var _hlightcharend = -1;
|
||||||
|
|
||||||
|
var _initial_click=false;
|
||||||
|
|
||||||
// See if we are in an iframe and capture focus
|
// See if we are in an iframe and capture focus
|
||||||
function capture_iframe_focus() {
|
function capture_iframe_focus() {
|
||||||
var targetNode = parent.document.getElementById('aquapda_iframe');
|
var targetNode = parent.document.getElementById('aquapda_iframe');
|
||||||
|
@ -417,12 +432,18 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function update_status(data) {
|
function update_status(data) {
|
||||||
// Some form of error if PDA only panel.
|
// Some form of error if PDA only panel.
|
||||||
|
|
||||||
if (data.panel_type.startsWith("PDA")) {
|
if (data.panel_type.startsWith("PDA")) {
|
||||||
//document.getElementById("status").innerHTML = ' !!! PDA only panels are not Supported !!! '
|
// If we are a PDA only panel, we are already connected, send the back command to get some PDA clar
|
||||||
//document.getElementById("status").classList.add("error");
|
// message to reset the screen.
|
||||||
update_status_message("PDA only panels are not Supported", true);
|
if (_initial_click == false) {
|
||||||
|
document.getElementById("pdaWarning").style.display = 'block';
|
||||||
|
document.getElementById("Back").click();
|
||||||
|
_initial_click = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const versionlabel = document.getElementById("version");
|
const versionlabel = document.getElementById("version");
|
||||||
|
@ -541,7 +562,7 @@
|
||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
|
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
|
<div>
|
||||||
<table border='0' id="deviceList">
|
<table border='0' id="deviceList">
|
||||||
<tr>
|
<tr>
|
||||||
<th id="status" align="center" colspan="5"> </th>
|
<th id="status" align="center" colspan="5"> </th>
|
||||||
|
@ -652,9 +673,11 @@
|
||||||
<td colspan="5" id="version" class="version"> </td>
|
<td colspan="5" id="version" class="version"> </td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
<!--<div class="inner">END</div>-->
|
<!--<div class="inner">END</div>-->
|
||||||
|
<div id="pdaWarning" class='hide'>
|
||||||
|
Warning<br>AqualinkD will not respond to commands while this window is open,<br>Please close when finished.
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -141,6 +141,27 @@
|
||||||
/*flex-direction: column;*/
|
/*flex-direction: column;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.simulator_pane {
|
||||||
|
background-color: var(--options_pane_background);
|
||||||
|
border: 2px solid var(--options_pane_bordercolor);
|
||||||
|
border-radius: 20px;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
/* Actual size of sim 305 by 385 */
|
||||||
|
width: 325px;
|
||||||
|
height: 405px;
|
||||||
|
padding: 10px;
|
||||||
|
/*overflow-y: scroll; didn't work*/
|
||||||
|
/*height: 100%;*/
|
||||||
|
/*flex-basis: content;*/
|
||||||
|
/*flex-direction: column;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
.simiframe {
|
||||||
|
width: 305px;
|
||||||
|
height: 385px;
|
||||||
|
}
|
||||||
|
|
||||||
.options {
|
.options {
|
||||||
top: 10px;
|
top: 10px;
|
||||||
/*left: 10px;*/
|
/*left: 10px;*/
|
||||||
|
@ -609,6 +630,8 @@
|
||||||
document.getElementById('vspswitch_options').classList.remove("hide");
|
document.getElementById('vspswitch_options').classList.remove("hide");
|
||||||
document.getElementById('timer_options').classList.remove("hide");
|
document.getElementById('timer_options').classList.remove("hide");
|
||||||
document.getElementById('scheduler_options').classList.remove("hide");
|
document.getElementById('scheduler_options').classList.remove("hide");
|
||||||
|
//document.getElementById('simulator_options').classList.remove("hide");
|
||||||
|
document.getElementById('simulator_iframe').classList.remove("hide");
|
||||||
setColors();
|
setColors();
|
||||||
load_background();
|
load_background();
|
||||||
showTileOptions(false);
|
showTileOptions(false);
|
||||||
|
@ -1233,6 +1256,7 @@
|
||||||
document.getElementById('vspswitch_options').style.display = 'none';
|
document.getElementById('vspswitch_options').style.display = 'none';
|
||||||
document.getElementById('timer_options').style.display = 'none';
|
document.getElementById('timer_options').style.display = 'none';
|
||||||
document.getElementById('scheduler_options').style.display = 'none';
|
document.getElementById('scheduler_options').style.display = 'none';
|
||||||
|
document.getElementById('simulator_iframe').style.display = 'none';
|
||||||
} else if (id != null && document.getElementById(id).getAttribute('type') == 'switch_program') {
|
} else if (id != null && document.getElementById(id).getAttribute('type') == 'switch_program') {
|
||||||
active_option = document.getElementById('pswitch_options');
|
active_option = document.getElementById('pswitch_options');
|
||||||
document.getElementById('thermostat_options').style.display = 'none';
|
document.getElementById('thermostat_options').style.display = 'none';
|
||||||
|
@ -1240,6 +1264,7 @@
|
||||||
document.getElementById('vspswitch_options').style.display = 'none';
|
document.getElementById('vspswitch_options').style.display = 'none';
|
||||||
document.getElementById('timer_options').style.display = 'none';
|
document.getElementById('timer_options').style.display = 'none';
|
||||||
document.getElementById('scheduler_options').style.display = 'none';
|
document.getElementById('scheduler_options').style.display = 'none';
|
||||||
|
document.getElementById('simulator_iframe').style.display = 'none';
|
||||||
} else if (id != null && document.getElementById(id).getAttribute('type') == 'setpoint_swg') {
|
} else if (id != null && document.getElementById(id).getAttribute('type') == 'setpoint_swg') {
|
||||||
active_option = document.getElementById('swg_options');
|
active_option = document.getElementById('swg_options');
|
||||||
document.getElementById('thermostat_options').style.display = 'none';
|
document.getElementById('thermostat_options').style.display = 'none';
|
||||||
|
@ -1247,6 +1272,7 @@
|
||||||
document.getElementById('vspswitch_options').style.display = 'none';
|
document.getElementById('vspswitch_options').style.display = 'none';
|
||||||
document.getElementById('timer_options').style.display = 'none';
|
document.getElementById('timer_options').style.display = 'none';
|
||||||
document.getElementById('scheduler_options').style.display = 'none';
|
document.getElementById('scheduler_options').style.display = 'none';
|
||||||
|
document.getElementById('simulator_iframe').style.display = 'none';
|
||||||
} else if (id != null && document.getElementById(id).getAttribute('type') == 'setpoint_freeze') {
|
} else if (id != null && document.getElementById(id).getAttribute('type') == 'setpoint_freeze') {
|
||||||
active_option = document.getElementById('swg_options');
|
active_option = document.getElementById('swg_options');
|
||||||
document.getElementById('thermostat_options').style.display = 'none';
|
document.getElementById('thermostat_options').style.display = 'none';
|
||||||
|
@ -1254,6 +1280,7 @@
|
||||||
document.getElementById('vspswitch_options').style.display = 'none';
|
document.getElementById('vspswitch_options').style.display = 'none';
|
||||||
document.getElementById('timer_options').style.display = 'none';
|
document.getElementById('timer_options').style.display = 'none';
|
||||||
document.getElementById('scheduler_options').style.display = 'none';
|
document.getElementById('scheduler_options').style.display = 'none';
|
||||||
|
document.getElementById('simulator_iframe').style.display = 'none';
|
||||||
} else if (id != null && document.getElementById(id).getAttribute('type') == 'switch_vsp') {
|
} else if (id != null && document.getElementById(id).getAttribute('type') == 'switch_vsp') {
|
||||||
active_option = document.getElementById('vspswitch_options');
|
active_option = document.getElementById('vspswitch_options');
|
||||||
document.getElementById('thermostat_options').style.display = 'none';
|
document.getElementById('thermostat_options').style.display = 'none';
|
||||||
|
@ -1261,6 +1288,7 @@
|
||||||
document.getElementById('swg_options').style.display = 'none';
|
document.getElementById('swg_options').style.display = 'none';
|
||||||
document.getElementById('timer_options').style.display = 'none';
|
document.getElementById('timer_options').style.display = 'none';
|
||||||
document.getElementById('scheduler_options').style.display = 'none';
|
document.getElementById('scheduler_options').style.display = 'none';
|
||||||
|
document.getElementById('simulator_iframe').style.display = 'none';
|
||||||
} else if (id != null && document.getElementById(id).getAttribute('type') == 'switch_timer') {
|
} else if (id != null && document.getElementById(id).getAttribute('type') == 'switch_timer') {
|
||||||
active_option = document.getElementById('timer_options');
|
active_option = document.getElementById('timer_options');
|
||||||
document.getElementById('thermostat_options').style.display = 'none';
|
document.getElementById('thermostat_options').style.display = 'none';
|
||||||
|
@ -1268,6 +1296,7 @@
|
||||||
document.getElementById('swg_options').style.display = 'none';
|
document.getElementById('swg_options').style.display = 'none';
|
||||||
document.getElementById('vspswitch_options').style.display = 'none';
|
document.getElementById('vspswitch_options').style.display = 'none';
|
||||||
document.getElementById('scheduler_options').style.display = 'none';
|
document.getElementById('scheduler_options').style.display = 'none';
|
||||||
|
document.getElementById('simulator_iframe').style.display = 'none';
|
||||||
} else if (id != null && document.getElementById(id).getAttribute('type') == 'scheduler') {
|
} else if (id != null && document.getElementById(id).getAttribute('type') == 'scheduler') {
|
||||||
active_option = document.getElementById('scheduler_options');
|
active_option = document.getElementById('scheduler_options');
|
||||||
document.getElementById('thermostat_options').style.display = 'none';
|
document.getElementById('thermostat_options').style.display = 'none';
|
||||||
|
@ -1275,6 +1304,15 @@
|
||||||
document.getElementById('swg_options').style.display = 'none';
|
document.getElementById('swg_options').style.display = 'none';
|
||||||
document.getElementById('vspswitch_options').style.display = 'none';
|
document.getElementById('vspswitch_options').style.display = 'none';
|
||||||
document.getElementById('timer_options').style.display = 'none';
|
document.getElementById('timer_options').style.display = 'none';
|
||||||
|
document.getElementById('simulator_iframe').style.display = 'none';
|
||||||
|
} else if (id != null && document.getElementById(id).getAttribute('type') == 'simulator') {
|
||||||
|
active_option = document.getElementById('simulator_iframe');
|
||||||
|
document.getElementById('thermostat_options').style.display = 'none';
|
||||||
|
document.getElementById('pswitch_options').style.display = 'none';
|
||||||
|
document.getElementById('swg_options').style.display = 'none';
|
||||||
|
document.getElementById('vspswitch_options').style.display = 'none';
|
||||||
|
document.getElementById('timer_options').style.display = 'none';
|
||||||
|
document.getElementById('scheduler_options').style.display = 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
active_option.style.display = 'flex';
|
active_option.style.display = 'flex';
|
||||||
|
@ -1310,6 +1348,7 @@
|
||||||
document.getElementById('vspswitch_options').style.display = 'none';
|
document.getElementById('vspswitch_options').style.display = 'none';
|
||||||
document.getElementById('timer_options').style.display = 'none';
|
document.getElementById('timer_options').style.display = 'none';
|
||||||
document.getElementById('scheduler_options').style.display = 'none';
|
document.getElementById('scheduler_options').style.display = 'none';
|
||||||
|
document.getElementById('simulator_iframe').style.display = 'none';
|
||||||
document.getElementById('wrapper').classList.remove("opaque");
|
document.getElementById('wrapper').classList.remove("opaque");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1363,6 +1402,8 @@
|
||||||
} else if (type == 'scheduler') {
|
} else if (type == 'scheduler') {
|
||||||
title = document.getElementById("scheduler_options_title");
|
title = document.getElementById("scheduler_options_title");
|
||||||
close_button = document.getElementById("scheduler_options_close");
|
close_button = document.getElementById("scheduler_options_close");
|
||||||
|
} else if (type == 'simulator') {
|
||||||
|
close_button = document.getElementById("simulator_iframe_close");
|
||||||
} else {
|
} else {
|
||||||
slider = document.getElementById("option_slider_range");
|
slider = document.getElementById("option_slider_range");
|
||||||
slider_output = document.getElementById("option_slider_text_value");
|
slider_output = document.getElementById("option_slider_text_value");
|
||||||
|
@ -1415,6 +1456,8 @@
|
||||||
|
|
||||||
if (type == 'scheduler') {
|
if (type == 'scheduler') {
|
||||||
title.innerHTML = "Scheduler";
|
title.innerHTML = "Scheduler";
|
||||||
|
} else if (type == 'simulator') {
|
||||||
|
// title.innerHTML = "Simulator";
|
||||||
} else {
|
} else {
|
||||||
title.innerHTML = document.getElementById(id + '_name').innerHTML;
|
title.innerHTML = document.getElementById(id + '_name').innerHTML;
|
||||||
}
|
}
|
||||||
|
@ -1480,6 +1523,8 @@
|
||||||
cs_clearSchedules();
|
cs_clearSchedules();
|
||||||
//cs_loadJSON("/api/schedules", cs_schedules,'jsonp');
|
//cs_loadJSON("/api/schedules", cs_schedules,'jsonp');
|
||||||
get_schedules();
|
get_schedules();
|
||||||
|
} else if (type == 'simulator') {
|
||||||
|
startSimulator();
|
||||||
} else {
|
} else {
|
||||||
slider.value = sp_value;
|
slider.value = sp_value;
|
||||||
oswitch = document.getElementById("option_switch");
|
oswitch = document.getElementById("option_switch");
|
||||||
|
@ -1597,6 +1642,7 @@
|
||||||
if ( ! cs_createJSON() ) {
|
if ( ! cs_createJSON() ) {
|
||||||
return // This stops pane from closing.
|
return // This stops pane from closing.
|
||||||
}
|
}
|
||||||
|
} else if (type == 'simulator') {
|
||||||
} else {
|
} else {
|
||||||
var value = slider.value;
|
var value = slider.value;
|
||||||
if (state == (tile.getAttribute('status') == 'off'))
|
if (state == (tile.getAttribute('status') == 'off'))
|
||||||
|
@ -1673,6 +1719,16 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showSimulator(caller){
|
||||||
|
caller.setAttribute('type', 'simulator');
|
||||||
|
showTileOptions(true, caller.id);
|
||||||
|
}
|
||||||
|
|
||||||
|
function startSimulator() {
|
||||||
|
console.log("Starting ifram sim init");
|
||||||
|
document.getElementById('onetouch_iframe').display = 'block';
|
||||||
|
}
|
||||||
|
|
||||||
// NSF CHANGE TO USING WS FOR THIS REQUEST
|
// NSF CHANGE TO USING WS FOR THIS REQUEST
|
||||||
/*
|
/*
|
||||||
function cs_loadJSON(path, success, error) {
|
function cs_loadJSON(path, success, error) {
|
||||||
|
@ -2418,6 +2474,7 @@
|
||||||
<!-- <div id='body_wrap' class='body_wrap' onmousedown='showTileOptions(false);'> -->
|
<!-- <div id='body_wrap' class='body_wrap' onmousedown='showTileOptions(false);'> -->
|
||||||
<div id='wrapper' class="wrapper">
|
<div id='wrapper' class="wrapper">
|
||||||
<div id="header" class="head" onclick="showBackground();">
|
<div id="header" class="head" onclick="showBackground();">
|
||||||
|
<!--<div id="header" class="head" onclick="event.stopPropagation();showSimulator(this);">-->
|
||||||
<table border='0' width='100%' cellpadding='0' cellspacing='0'>
|
<table border='0' width='100%' cellpadding='0' cellspacing='0'>
|
||||||
<tr>
|
<tr>
|
||||||
<td width="70px" align='left' id='td_name'><span class='title' id='name'
|
<td width="70px" align='left' id='td_name'><span class='title' id='name'
|
||||||
|
@ -2650,6 +2707,14 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div id="simulator_iframe" class='options hide'>
|
||||||
|
<div id="onetouch_iframe" class="simulator_pane" onclick='event.stopPropagation();''>
|
||||||
|
<iframe id="simulatoriframe" src="/onetouch_sim.html" class="simiframe"></iframe>
|
||||||
|
<input type="button" class="options_button" id="simulator_iframe_close" value="Close">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id='scheduler_options' class='options hide'>
|
<div id='scheduler_options' class='options hide'>
|
||||||
<div id='scheduler_options_pane' class='scheduler_pane' onclick='event.stopPropagation();'>
|
<div id='scheduler_options_pane' class='scheduler_pane' onclick='event.stopPropagation();'>
|
||||||
<table id="cronschedules" border="0">
|
<table id="cronschedules" border="0">
|
||||||
|
@ -2684,6 +2749,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -119,6 +119,8 @@
|
||||||
.lcd_highlight {
|
.lcd_highlight {
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
background-color: #8e1e1e !important;
|
background-color: #8e1e1e !important;
|
||||||
|
/*background-color: #8b7d7d !important;*/
|
||||||
|
/*background-color: #868383 !important;*/
|
||||||
color: white !important;
|
color: white !important;
|
||||||
white-space: pre;
|
white-space: pre;
|
||||||
}
|
}
|
||||||
|
@ -133,7 +135,7 @@
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<script type='text/javascript'>
|
<script type='text/javascript'>
|
||||||
|
console.log("SIM LOAD");
|
||||||
var _socket_di;
|
var _socket_di;
|
||||||
var _keep_socket_alive=true;
|
var _keep_socket_alive=true;
|
||||||
|
|
||||||
|
@ -158,7 +160,13 @@
|
||||||
|
|
||||||
// See if we are in an iframe and capture focus
|
// See if we are in an iframe and capture focus
|
||||||
function capture_iframe_focus() {
|
function capture_iframe_focus() {
|
||||||
|
|
||||||
var targetNode = parent.document.getElementById('onetouch_iframe');
|
var targetNode = parent.document.getElementById('onetouch_iframe');
|
||||||
|
/*
|
||||||
|
if (targetNode == null)
|
||||||
|
targetNode = parent.document.getElementById('simulator_iframe');*/
|
||||||
|
|
||||||
|
console.log("OneTouch checking if iframe");
|
||||||
if (targetNode != null) {
|
if (targetNode != null) {
|
||||||
var observer = new MutationObserver(function(){
|
var observer = new MutationObserver(function(){
|
||||||
if(targetNode.style.display != 'none'){
|
if(targetNode.style.display != 'none'){
|
||||||
|
@ -170,9 +178,10 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
observer.observe(targetNode, { attributes: true, childList: true });
|
observer.observe(targetNode, { attributes: true, childList: true });
|
||||||
|
console.log("OneTouch in iframe");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
console.log("OneTouch no iframe");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -529,6 +538,17 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Print all events
|
||||||
|
/*
|
||||||
|
Object.keys(window).forEach(key => {
|
||||||
|
if (/^on/.test(key)) {
|
||||||
|
window.addEventListener(key.slice(2), event => {
|
||||||
|
console.log(event);
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
*/
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue