Compare commits
10 Commits
e31b85246c
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| d9ae5f8c2b | |||
| 116458feda | |||
| 238dec4050 | |||
|
|
0b8f06099a | ||
|
|
ea5680b473 | ||
|
|
c7fbc0f50c | ||
|
|
4f427eda4e | ||
|
|
b306a982de | ||
|
|
8800fc6c97 | ||
|
|
1af18ea84c |
18
deploy.ps1
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Define variables
|
||||||
|
$localFolder = "./src/."
|
||||||
|
$remoteUser = "debian"
|
||||||
|
$remoteHost = "robe.vincent-bouquet.fr"
|
||||||
|
$remotePath = "/var/www/html/public/reap"
|
||||||
|
$port = 22 # Change this if your SSH server uses a different port
|
||||||
|
|
||||||
|
# Build the SCP commands
|
||||||
|
$sshCommand = "ssh -p ${port} ${remoteUser}@${remoteHost} 'mkdir -p `"${remotePath}`" && sudo rm -rf `"${remotePath}/*`"'"
|
||||||
|
$scpCommand = "scp -r -P ${port} `"${localFolder}`" ${remoteUser}@${remoteHost}:`"${remotePath}`""
|
||||||
|
|
||||||
|
# Execute SSH command to clean remote directory
|
||||||
|
Write-Host "Cleaning remote directory: $remotePath"
|
||||||
|
Invoke-Expression $sshCommand
|
||||||
|
|
||||||
|
# Execute the command
|
||||||
|
Write-Host "Executing: $scpCommand"
|
||||||
|
Invoke-Expression $scpCommand
|
||||||
@@ -1,480 +0,0 @@
|
|||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta
|
|
||||||
name="viewport"
|
|
||||||
content="width=device-width,initial-scale=1,shrink-to-fit=no"
|
|
||||||
/>
|
|
||||||
<link rel="stylesheet" href="../files/bootstrap.min.css" />
|
|
||||||
<link rel="stylesheet" href="../files/layout.css" />
|
|
||||||
<script src="../files/jquery-3.3.1.min.js"></script>
|
|
||||||
<script src="../files/popper.min.js"></script>
|
|
||||||
<script src="../files/bootstrap.min.js"></script>
|
|
||||||
<script src="./base.js"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<nav class="navbar fixed-top navbar-expand-md navbar-dark bg-dark">
|
|
||||||
<div class="container">
|
|
||||||
<a class="navbar-brand" href="./index.html"
|
|
||||||
><img src="../files/robe_logo_white.svg" /></a
|
|
||||||
><button
|
|
||||||
class="navbar-toggler"
|
|
||||||
type="button"
|
|
||||||
data-toggle="collapse"
|
|
||||||
data-target="#navbar"
|
|
||||||
>
|
|
||||||
<span class="navbar-toggler-icon"></span>
|
|
||||||
</button>
|
|
||||||
<div class="collapse navbar-collapse" id="navbar">
|
|
||||||
<ul class="navbar-nav mr-auto">
|
|
||||||
<li class="nav-item active">
|
|
||||||
<a class="nav-link" href="./index.html">Status</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link" href="./personality.html">Personality</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link" href="./logs.html">Logs</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link" href="./sensors.html">RAINS logs</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link" href="./discovery.html">Discovery</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item"><a class="nav-link" id="scfg">Settings</a></li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link" id="idnt"
|
|
||||||
><img class="rdmi" src="../files/identify.svg"
|
|
||||||
/></a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<div
|
|
||||||
class="fixed-top text-center device-label"
|
|
||||||
id="pth"
|
|
||||||
onclick="window.location = ('../index.html')"
|
|
||||||
></div>
|
|
||||||
|
|
||||||
<div class="container-fluid in">
|
|
||||||
<h1>Device status</h1>
|
|
||||||
<div class="row" id="boxes">
|
|
||||||
<div class="col-md-6 col-xl-4 box-c">
|
|
||||||
<h2>
|
|
||||||
DMX/RDM settings
|
|
||||||
<a class="cfg" onclick="open_modal(0);">
|
|
||||||
<img src="../files/settings.svg" />
|
|
||||||
</a>
|
|
||||||
</h2>
|
|
||||||
<div class="box">
|
|
||||||
<ul class="group">
|
|
||||||
<li>DMX address</li>
|
|
||||||
<li>DMX preset</li>
|
|
||||||
<li>DMX input</li>
|
|
||||||
<li class="mt-2">IP address</li>
|
|
||||||
<li>MAC address</li>
|
|
||||||
<li class="mt-2">RDM UID</li>
|
|
||||||
<li>RDM label</li>
|
|
||||||
</ul>
|
|
||||||
<ul class="group vals" id="">
|
|
||||||
<li>
|
|
||||||
<div id="iforte_dmxa_v"></div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div id="iforte_dmxp_v"></div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div id="iforte_dmxi_v"></div>
|
|
||||||
</li>
|
|
||||||
<li class="mt-2">
|
|
||||||
<div id="iforte_ip_v"></div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div id="iforte_mac_v"></div>
|
|
||||||
</li>
|
|
||||||
<li class="mt-2">
|
|
||||||
<div id="iforte_rdmu_v"></div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div id="iforte_rdmn_v"></div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6 col-xl-4 box-c">
|
|
||||||
<h2>
|
|
||||||
Device times
|
|
||||||
<a class="cfg" onclick="open_modal(1);">
|
|
||||||
<img src="../files/settings.svg" />
|
|
||||||
</a>
|
|
||||||
</h2>
|
|
||||||
<div class="box">
|
|
||||||
<ul class="group">
|
|
||||||
<li>Power on time</li>
|
|
||||||
</ul>
|
|
||||||
<ul class="group vals" id="">
|
|
||||||
<li>
|
|
||||||
<div id="iforte_h0_v"></div>
|
|
||||||
h /
|
|
||||||
<div id="iforte_hr0_v"></div>
|
|
||||||
h
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<p>
|
|
||||||
<small>total / resettable</small>
|
|
||||||
</p>
|
|
||||||
<ul class="group">
|
|
||||||
<li>LED on time total</li>
|
|
||||||
<li>LED on time adaptive</li>
|
|
||||||
</ul>
|
|
||||||
<ul class="group vals">
|
|
||||||
<li>
|
|
||||||
<div id="iforte_h1_v"></div>
|
|
||||||
h
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div id="iforte_hr1_v"></div>
|
|
||||||
h
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6 col-xl-4 box-c">
|
|
||||||
<h2>
|
|
||||||
Device temperatures
|
|
||||||
<a class="cfg" onclick="open_modal(2);">
|
|
||||||
<img src="../files/settings.svg" />
|
|
||||||
</a>
|
|
||||||
</h2>
|
|
||||||
<div class="box">
|
|
||||||
<ul class="group">
|
|
||||||
<li>LEDs</li>
|
|
||||||
<li>PSU</li>
|
|
||||||
<li>Driver</li>
|
|
||||||
<li>Base</li>
|
|
||||||
</ul>
|
|
||||||
<ul class="group vals" id="">
|
|
||||||
<li>
|
|
||||||
<div id="iforte_t0_v"></div>
|
|
||||||
°
|
|
||||||
<div id="iforte_tu_v"></div>
|
|
||||||
/
|
|
||||||
<div id="iforte_tm0_v"></div>
|
|
||||||
°
|
|
||||||
<div id="iforte_tu_v"></div>
|
|
||||||
/
|
|
||||||
<div id="iforte_tmr0_v"></div>
|
|
||||||
°
|
|
||||||
<div id="iforte_tu_v"></div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div id="iforte_t3_v"></div>
|
|
||||||
°
|
|
||||||
<div id="iforte_tu_v"></div>
|
|
||||||
/
|
|
||||||
<div id="iforte_tm3_v"></div>
|
|
||||||
°
|
|
||||||
<div id="iforte_tu_v"></div>
|
|
||||||
/
|
|
||||||
<div id="iforte_tmr3_v"></div>
|
|
||||||
°
|
|
||||||
<div id="iforte_tu_v"></div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div id="iforte_t1_v"></div>
|
|
||||||
°
|
|
||||||
<div id="iforte_tu_v"></div>
|
|
||||||
/
|
|
||||||
<div id="iforte_tm1_v"></div>
|
|
||||||
°
|
|
||||||
<div id="iforte_tu_v"></div>
|
|
||||||
/
|
|
||||||
<div id="iforte_tmr1_v"></div>
|
|
||||||
°
|
|
||||||
<div id="iforte_tu_v"></div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div id="iforte_t2_v"></div>
|
|
||||||
°
|
|
||||||
<div id="iforte_tu_v"></div>
|
|
||||||
/
|
|
||||||
<div id="iforte_tm2_v"></div>
|
|
||||||
°
|
|
||||||
<div id="iforte_tu_v"></div>
|
|
||||||
/
|
|
||||||
<div id="iforte_tmr2_v"></div>
|
|
||||||
°
|
|
||||||
<div id="iforte_tu_v"></div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<p>
|
|
||||||
<small>current / maximum / resettable</small>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6 col-xl-4 box-c">
|
|
||||||
<h2>
|
|
||||||
Wireless state
|
|
||||||
<a class="cfg" onclick="open_modal(3);">
|
|
||||||
<img src="../files/settings.svg" />
|
|
||||||
</a>
|
|
||||||
</h2>
|
|
||||||
<div class="box">
|
|
||||||
<ul class="group">
|
|
||||||
<li>State</li>
|
|
||||||
<li>Signal strength</li>
|
|
||||||
</ul>
|
|
||||||
<ul class="group vals" id="">
|
|
||||||
<li>
|
|
||||||
<div id="iforte_lwc_v"></div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div id="iforte_lws_v">%</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6 col-xl-4 box-c">
|
|
||||||
<h2>Software versions</h2>
|
|
||||||
<div class="box">
|
|
||||||
<ul class="group">
|
|
||||||
<li>Display System</li>
|
|
||||||
<li>Module M</li>
|
|
||||||
<li>Module L1</li>
|
|
||||||
<li>Module L2</li>
|
|
||||||
<li>Module O</li>
|
|
||||||
<li>Module F-A</li>
|
|
||||||
<li>Module F-B</li>
|
|
||||||
<li>Module G1</li>
|
|
||||||
<li>Module G2</li>
|
|
||||||
<li>Module P</li>
|
|
||||||
<li>Module C1</li>
|
|
||||||
<li>Module C2</li>
|
|
||||||
<li>Module DL</li>
|
|
||||||
</ul>
|
|
||||||
<ul class="group vals" id="sw_vers">
|
|
||||||
<li>1.9</li>
|
|
||||||
<li>1.4</li>
|
|
||||||
<li>1.6</li>
|
|
||||||
<li>1.5</li>
|
|
||||||
<li>1.3</li>
|
|
||||||
<li>1.1</li>
|
|
||||||
<li>1.1</li>
|
|
||||||
<li>1.5</li>
|
|
||||||
<li>1.5</li>
|
|
||||||
<li>1.2</li>
|
|
||||||
<li>1.2</li>
|
|
||||||
<li>1.2</li>
|
|
||||||
<li>1.2</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6 col-xl-4 box-c">
|
|
||||||
<h2>Device state</h2>
|
|
||||||
<div class="box">
|
|
||||||
<ul class="group">
|
|
||||||
<li>Device status</li>
|
|
||||||
</ul>
|
|
||||||
<ul class="group vals" id="">
|
|
||||||
<li>
|
|
||||||
<div id="iforte_devs_v"></div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<button
|
|
||||||
class="btn btn-primary btn-block esm dn btn-success"
|
|
||||||
value="0"
|
|
||||||
style="display: inline-block"
|
|
||||||
id="esm"
|
|
||||||
>
|
|
||||||
Enter standby mode
|
|
||||||
</button>
|
|
||||||
<div>Current RAINS status</div>
|
|
||||||
<div>
|
|
||||||
<small class="fl">WET</small>
|
|
||||||
<small class="fr">DRY</small>
|
|
||||||
</div>
|
|
||||||
<div class="rains">
|
|
||||||
<div id="iforte_rains_bar_current" style="width: 50%"></div>
|
|
||||||
</div>
|
|
||||||
<div>MAX WET/resettable</div>
|
|
||||||
<div>
|
|
||||||
<small class="fl">WET</small>
|
|
||||||
<small class="fr">DRY</small>
|
|
||||||
</div>
|
|
||||||
<div class="rains">
|
|
||||||
<div id="iforte_rains_bar_max" style="width: 50%"></div>
|
|
||||||
</div>
|
|
||||||
<button class="btn btn-primary btn-block">MAX WET reset</button>
|
|
||||||
<p>
|
|
||||||
<small id="iforte_wrt">last reset: 2.3.2023 16:19:57</small>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-12 box-c">
|
|
||||||
<h2 id="sta_err">Status messages</h2>
|
|
||||||
<div class="box">
|
|
||||||
<li>
|
|
||||||
This is a simulated REAP™ page for demo purposes. Some content
|
|
||||||
might be different on real fixtures.
|
|
||||||
</li>
|
|
||||||
<li>Big thanks to Vincent BOUQUET for creating this simulator.</li>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="cfg-modal" class="modal fade" tabindex="-1" role="dialog">
|
|
||||||
<div class="modal-dialog" role="document">
|
|
||||||
<div class="modal-content">
|
|
||||||
<div class="modal-header">
|
|
||||||
<img src="../files/settings.svg" />
|
|
||||||
<h5 class="modal-title" id="m-t"></h5>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="close"
|
|
||||||
data-dismiss="modal"
|
|
||||||
aria-label="Close"
|
|
||||||
>
|
|
||||||
<span aria-hidden="true">×</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body" id="m-b"></div>
|
|
||||||
<div class="modal-footer" id="m-f">
|
|
||||||
<button type="button" class="btn btn-primary sb">Save</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
var a_m = -1;
|
|
||||||
var m_t = [
|
|
||||||
"DMX/RDM settings",
|
|
||||||
"Reset timers",
|
|
||||||
"Reset temperatures",
|
|
||||||
"Wireless settings",
|
|
||||||
];
|
|
||||||
|
|
||||||
function open_modal(i) {
|
|
||||||
a_m = i;
|
|
||||||
if (a_m < m_t.length) {
|
|
||||||
$("#m-t").html(m_t[a_m]);
|
|
||||||
}
|
|
||||||
$(".sb").unbind();
|
|
||||||
$("#m-f").empty();
|
|
||||||
$("#m-f").append(
|
|
||||||
'<button type="button" class="btn btn-primary sb">Save</button>'
|
|
||||||
);
|
|
||||||
if (a_m == 0) $("#m-f").show();
|
|
||||||
else $("#m-f").hide();
|
|
||||||
var h = "";
|
|
||||||
if (a_m == 0) {
|
|
||||||
h += c_txt(
|
|
||||||
"iforte_dmxa",
|
|
||||||
"DMX address",
|
|
||||||
"Please put DMX address from 1 to 512"
|
|
||||||
);
|
|
||||||
h += c_opt("iforte_dmxp", "DMX preset", [2], "Mode ", 0, 1, "");
|
|
||||||
h += c_opt(
|
|
||||||
"iforte_dmxi",
|
|
||||||
"DMX input",
|
|
||||||
["wired", "wireless", "wireless XLR out"],
|
|
||||||
"",
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
"Can not set wireless input now!"
|
|
||||||
);
|
|
||||||
h += c_txt(
|
|
||||||
"iforte_rdmn",
|
|
||||||
"RDM label",
|
|
||||||
"Please insert label,max 32 characters"
|
|
||||||
);
|
|
||||||
} else if (a_m == 1) {
|
|
||||||
h += c_btn("Power on time reset", 0, "rh");
|
|
||||||
} else if (a_m == 2) {
|
|
||||||
h += c_btn("LEDs temperature reset", 0, "rt");
|
|
||||||
h += c_btn("PSU temperature reset", 3, "rt");
|
|
||||||
h += c_btn("Driver temperature reset", 1, "rt");
|
|
||||||
h += c_btn("Base temperature reset", 2, "rt");
|
|
||||||
} else if (a_m == 3) {
|
|
||||||
h += c_btn("Unlink Wireless module", 0, "lwu");
|
|
||||||
}
|
|
||||||
|
|
||||||
// pers set
|
|
||||||
$("#m-b").html(h);
|
|
||||||
copy_form_values(1);
|
|
||||||
$("#cfg-modal").modal();
|
|
||||||
$(".sb").bind("click", function () {
|
|
||||||
loader(1);
|
|
||||||
var par = [
|
|
||||||
"iforte_dmxa",
|
|
||||||
"iforte_dmxp",
|
|
||||||
"iforte_dmxi",
|
|
||||||
"iforte_rdmn",
|
|
||||||
];
|
|
||||||
do_ajax("/set_dmx", pv(par), function (json) {
|
|
||||||
if (json) {
|
|
||||||
if (json["status"] == 0) {
|
|
||||||
copy_form_values(0);
|
|
||||||
if (a_m == 0) {
|
|
||||||
console.log(json["dmxf"]);
|
|
||||||
fill_values(json, ["dmxf"]);
|
|
||||||
}
|
|
||||||
ptit(json["pt"]);
|
|
||||||
close_modal();
|
|
||||||
}
|
|
||||||
show_errors(json["status"], par);
|
|
||||||
loader(0);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// hours reset
|
|
||||||
$(".rh ").bind("click ", function () {
|
|
||||||
loader(1);
|
|
||||||
do_ajax(
|
|
||||||
"/reset_hours",
|
|
||||||
{
|
|
||||||
index: $(this).attr("value"),
|
|
||||||
},
|
|
||||||
function (json) {
|
|
||||||
if (json) {
|
|
||||||
fill_values(json, ["hr0", "hr1", "hr2", "hr3"]);
|
|
||||||
}
|
|
||||||
loader(0);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
// max temp reset
|
|
||||||
$(".rt").bind("click", function () {
|
|
||||||
loader(1);
|
|
||||||
do_ajax(
|
|
||||||
"/reset_temps",
|
|
||||||
{
|
|
||||||
index: $(this).attr("value"),
|
|
||||||
},
|
|
||||||
function (json) {
|
|
||||||
if (json) {
|
|
||||||
fill_values(json, ["tmr0", "tmr1", "tmr2"]);
|
|
||||||
}
|
|
||||||
loader(0);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
// wireless unlink
|
|
||||||
$(".lwu").bind("click", function () {
|
|
||||||
loader(1);
|
|
||||||
close_modal();
|
|
||||||
loader(0);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// standby mode
|
|
||||||
$("#esm").on("click", function () {
|
|
||||||
toggleStandbyMode();
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
Before Width: | Height: | Size: 314 B After Width: | Height: | Size: 314 B |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
@@ -1,11 +1,13 @@
|
|||||||
|
// GLOBAL VARIABLES
|
||||||
var is_pressure_test_ongoing = false;
|
var is_pressure_test_ongoing = false;
|
||||||
var rains_value = 0;
|
var rains_value = 0;
|
||||||
|
var rains_loop_timing = 2000;
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
initSessionStorage();
|
initSessionStorage();
|
||||||
populateUIFromSessionStorage();
|
populateUIFromSessionStorage();
|
||||||
|
|
||||||
loopRainsSimulator();
|
loop_rains_simulator();
|
||||||
|
|
||||||
// Sets the proper fixture name in the header and title
|
// Sets the proper fixture name in the header and title
|
||||||
var fixturename = "Robin iForte - Simulated";
|
var fixturename = "Robin iForte - Simulated";
|
||||||
@@ -79,7 +81,7 @@ function toggleStandbyMode() {
|
|||||||
populateUIFromSessionStorage();
|
populateUIFromSessionStorage();
|
||||||
}
|
}
|
||||||
|
|
||||||
function loopRainsSimulator() {
|
function loop_rains_simulator() {
|
||||||
var rains_tube_age = sessionStorage.getItem("iforte_demo_rains_age");
|
var rains_tube_age = sessionStorage.getItem("iforte_demo_rains_age");
|
||||||
var rains_lowest = sessionStorage.getItem("iforte_demo_rains_lowest");
|
var rains_lowest = sessionStorage.getItem("iforte_demo_rains_lowest");
|
||||||
|
|
||||||
@@ -95,17 +97,16 @@ function loopRainsSimulator() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$("#iforte_rains_bar_current").width(rains_value + "%");
|
$("#iforte_rains_bar_current").width(rains_value + "%");
|
||||||
|
$("#iforte_rains_bar_max").width(rains_lowest + "%");
|
||||||
|
|
||||||
if (rains_value < rains_lowest) {
|
if (rains_value < rains_lowest) {
|
||||||
sessionStorage.setItem("iforte_demo_rains_lowest", rains_value);
|
sessionStorage.setItem("iforte_demo_rains_lowest", rains_value);
|
||||||
$("#iforte_rains_bar_max").width(rains_value + "%");
|
$("#iforte_rains_bar_max").width(rains_value + "%");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
loopRainsSimulator();
|
loop_rains_simulator();
|
||||||
}, 1000);
|
}, rains_loop_timing);
|
||||||
}
|
}
|
||||||
|
|
||||||
function pressureTest() {
|
function pressureTest() {
|
||||||
@@ -130,14 +131,14 @@ function pressureTest() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function pressure_test_loop(time, temp, pressure) {
|
function pressure_test_loop(time, temp, pressure) {
|
||||||
|
var is_test_failing = sessionStorage.getItem("iforte_demo_pressure_test");
|
||||||
|
|
||||||
if (is_pressure_test_ongoing) {
|
if (is_pressure_test_ongoing) {
|
||||||
if (time == 0) {
|
if (time == 0) {
|
||||||
is_pressure_test_ongoing = false;
|
is_pressure_test_ongoing = false;
|
||||||
$("#pt-l1").html("");
|
$("#pt-l1").html("");
|
||||||
$("#pt-l3").html("");
|
$("#pt-l3").html("");
|
||||||
|
|
||||||
var is_test_failing = sessionStorage.getItem("iforte_demo_pressure_test");
|
|
||||||
|
|
||||||
if (is_test_failing == 1) {
|
if (is_test_failing == 1) {
|
||||||
$('#pt-l2').html('FAIL')
|
$('#pt-l2').html('FAIL')
|
||||||
$('#pt-l2').addClass('ptf')
|
$('#pt-l2').addClass('ptf')
|
||||||
@@ -160,7 +161,12 @@ function pressure_test_loop(time, temp, pressure) {
|
|||||||
"Remaining Time " +
|
"Remaining Time " +
|
||||||
new Date(time * 1000).toISOString().substring(14, 19)
|
new Date(time * 1000).toISOString().substring(14, 19)
|
||||||
);
|
);
|
||||||
$("#pt-l3").html(temp + " °C / delta " + pressure.toFixed(2) + " hPa");
|
|
||||||
|
if (is_test_failing == 1) {
|
||||||
|
$("#pt-l3").html(temp + " °C / delta 0.00 hPa");
|
||||||
|
} else {
|
||||||
|
$("#pt-l3").html(temp + " °C / delta " + pressure.toFixed(2) + " hPa");
|
||||||
|
}
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
temp = temp + 1;
|
temp = temp + 1;
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="fixed-top text-center device-label" id="pth" onclick="window.location = ('../index.html')"></div>
|
<div class="fixed-top text-center device-label" id="pth" ></div>
|
||||||
<div class="container-fluid in">
|
<div class="container-fluid in">
|
||||||
<h1>Discovery</h1>
|
<h1>Discovery</h1>
|
||||||
<div class="row" id="boxes">
|
<div class="row" id="boxes">
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
<div class="clearfix">
|
<div class="clearfix">
|
||||||
<div class="float-left pt02">
|
<div class="float-left pt02">
|
||||||
<input type="checkbox" id="w-ot">
|
<input type="checkbox" id="w-ot">
|
||||||
<label for="w-ot" class="pl04"> Move devices with warning to top</label>
|
<label for="w-ot" class="pl04">Move devices with warning to top</label>
|
||||||
</div>
|
</div>
|
||||||
<button class="btn btn-primary float-right" id="scan">Discover (1)</button>
|
<button class="btn btn-primary float-right" id="scan">Discover (1)</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -127,19 +127,19 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>iForte</td>
|
<td>iForte</td>
|
||||||
<td>350</td>
|
<td id="iforte_dmxa_v">1</td>
|
||||||
<td>Mode 1 (54 channels)</td>
|
<td id="iforte_dmxp_v">Mode 1</td>
|
||||||
<td>52:53:01:2c:00:0e</td>
|
<td id="iforte_rdmu_v">52:53:01:2c:00:0e</td>
|
||||||
<td><a href="../iforte/index.html">2.247.136.14</a></td>
|
<td><a href="../iforte/index.html">2.247.136.14</a></td>
|
||||||
<td style="display: none;">47</td>
|
<td style="display: none;">47</td>
|
||||||
<td style="display: none;">14.0</td>
|
<td style="display: none;">14.0</td>
|
||||||
<td>
|
<td>
|
||||||
<div class="rains sl">
|
<div class="rains sl">
|
||||||
<div style="width:63%"></div>
|
<div id="iforte_rains_bar_max" style="width:63%"></div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td style="display: none;">2.3.2023 16:19:02 - OK</td>
|
<td style="display: none;">2.3.2023 16:19:02 - OK</td>
|
||||||
<td>active</td>
|
<td id="iforte_devs_v">active</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Robin T1 Wash</td>
|
<td>Robin T1 Wash</td>
|
||||||
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
426
src/iforte/index.html
Normal file
@@ -0,0 +1,426 @@
|
|||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta
|
||||||
|
name="viewport"
|
||||||
|
content="width=device-width,initial-scale=1,shrink-to-fit=no"
|
||||||
|
/>
|
||||||
|
<link rel="stylesheet" href="../files/bootstrap.min.css" />
|
||||||
|
<link rel="stylesheet" href="../files/layout.css" />
|
||||||
|
<script src="../files/jquery-3.3.1.min.js"></script>
|
||||||
|
<script src="../files/popper.min.js"></script>
|
||||||
|
<script src="../files/bootstrap.min.js"></script>
|
||||||
|
<script src="./base.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<nav class="navbar fixed-top navbar-expand-md navbar-dark bg-dark">
|
||||||
|
<div class="container">
|
||||||
|
<a class="navbar-brand" href="./index.html"
|
||||||
|
><img src="../files/robe_logo_white.svg" /></a
|
||||||
|
><button
|
||||||
|
class="navbar-toggler"
|
||||||
|
type="button"
|
||||||
|
data-toggle="collapse"
|
||||||
|
data-target="#navbar"
|
||||||
|
>
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbar">
|
||||||
|
<ul class="navbar-nav mr-auto">
|
||||||
|
<li class="nav-item active">
|
||||||
|
<a class="nav-link" href="./index.html">Status</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="./personality.html">Personality</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="./logs.html">Logs</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="./sensors.html">RAINS logs</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="./discovery.html">Discovery</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item"><a class="nav-link" id="scfg">Settings</a></li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" id="idnt"
|
||||||
|
><img class="rdmi" src="../files/identify.svg"
|
||||||
|
/></a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<div
|
||||||
|
class="fixed-top text-center device-label"
|
||||||
|
id="pth"
|
||||||
|
|
||||||
|
></div>
|
||||||
|
|
||||||
|
<div class="container-fluid in">
|
||||||
|
<h1>Device status</h1>
|
||||||
|
<div class="row" id="boxes">
|
||||||
|
<div class="col-md-6 col-xl-4 box-c">
|
||||||
|
<h2>
|
||||||
|
DMX/RDM settings
|
||||||
|
<a class="cfg" onclick="open_modal(0);">
|
||||||
|
<img src="../files/settings.svg" />
|
||||||
|
</a>
|
||||||
|
</h2>
|
||||||
|
<div class="box">
|
||||||
|
<ul class="group">
|
||||||
|
<li>DMX address</li>
|
||||||
|
<li>DMX preset</li>
|
||||||
|
<li>DMX input</li>
|
||||||
|
<li class="mt-2">IP address</li>
|
||||||
|
<li>MAC address</li>
|
||||||
|
<li class="mt-2">RDM UID</li>
|
||||||
|
<li>RDM label</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="group vals" id="">
|
||||||
|
<li>
|
||||||
|
<div id="iforte_dmxa_v"></div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div id="iforte_dmxp_v"></div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div id="iforte_dmxi_v"></div>
|
||||||
|
</li>
|
||||||
|
<li class="mt-2">
|
||||||
|
<div id="iforte_ip_v"></div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div id="iforte_mac_v"></div>
|
||||||
|
</li>
|
||||||
|
<li class="mt-2">
|
||||||
|
<div id="iforte_rdmu_v"></div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div id="iforte_rdmn_v"></div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 col-xl-4 box-c">
|
||||||
|
<h2>
|
||||||
|
Device times
|
||||||
|
<a class="cfg" onclick="open_modal(1);">
|
||||||
|
<img src="../files/settings.svg" />
|
||||||
|
</a>
|
||||||
|
</h2>
|
||||||
|
<div class="box">
|
||||||
|
<ul class="group">
|
||||||
|
<li>Power on time</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="group vals" id="">
|
||||||
|
<li>
|
||||||
|
<div id="iforte_h0_v"></div>
|
||||||
|
h /
|
||||||
|
<div id="iforte_hr0_v"></div>
|
||||||
|
h
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
<small>total / resettable</small>
|
||||||
|
</p>
|
||||||
|
<ul class="group">
|
||||||
|
<li>LED on time total</li>
|
||||||
|
<li>LED on time adaptive</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="group vals">
|
||||||
|
<li>
|
||||||
|
<div id="iforte_h1_v"></div>
|
||||||
|
h
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div id="iforte_hr1_v"></div>
|
||||||
|
h
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 col-xl-4 box-c">
|
||||||
|
<h2>
|
||||||
|
Device temperatures
|
||||||
|
<a class="cfg" onclick="open_modal(2);">
|
||||||
|
<img src="../files/settings.svg" />
|
||||||
|
</a>
|
||||||
|
</h2>
|
||||||
|
<div class="box">
|
||||||
|
<ul class="group">
|
||||||
|
<li>LEDs</li>
|
||||||
|
<li>PSU</li>
|
||||||
|
<li>Driver</li>
|
||||||
|
<li>Base</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="group vals" id="">
|
||||||
|
<li>
|
||||||
|
<div id="iforte_t0_v"></div>
|
||||||
|
°
|
||||||
|
<div id="iforte_tu_v"></div>
|
||||||
|
/
|
||||||
|
<div id="iforte_tm0_v"></div>
|
||||||
|
°
|
||||||
|
<div id="iforte_tu_v"></div>
|
||||||
|
/
|
||||||
|
<div id="iforte_tmr0_v"></div>
|
||||||
|
°
|
||||||
|
<div id="iforte_tu_v"></div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div id="iforte_t3_v"></div>
|
||||||
|
°
|
||||||
|
<div id="iforte_tu_v"></div>
|
||||||
|
/
|
||||||
|
<div id="iforte_tm3_v"></div>
|
||||||
|
°
|
||||||
|
<div id="iforte_tu_v"></div>
|
||||||
|
/
|
||||||
|
<div id="iforte_tmr3_v"></div>
|
||||||
|
°
|
||||||
|
<div id="iforte_tu_v"></div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div id="iforte_t1_v"></div>
|
||||||
|
°
|
||||||
|
<div id="iforte_tu_v"></div>
|
||||||
|
/
|
||||||
|
<div id="iforte_tm1_v"></div>
|
||||||
|
°
|
||||||
|
<div id="iforte_tu_v"></div>
|
||||||
|
/
|
||||||
|
<div id="iforte_tmr1_v"></div>
|
||||||
|
°
|
||||||
|
<div id="iforte_tu_v"></div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div id="iforte_t2_v"></div>
|
||||||
|
°
|
||||||
|
<div id="iforte_tu_v"></div>
|
||||||
|
/
|
||||||
|
<div id="iforte_tm2_v"></div>
|
||||||
|
°
|
||||||
|
<div id="iforte_tu_v"></div>
|
||||||
|
/
|
||||||
|
<div id="iforte_tmr2_v"></div>
|
||||||
|
°
|
||||||
|
<div id="iforte_tu_v"></div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p>
|
||||||
|
<small>current / maximum / resettable</small>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 col-xl-4 box-c">
|
||||||
|
<h2>
|
||||||
|
Wireless state
|
||||||
|
<a class="cfg" onclick="open_modal(3);">
|
||||||
|
<img src="../files/settings.svg" />
|
||||||
|
</a>
|
||||||
|
</h2>
|
||||||
|
<div class="box">
|
||||||
|
<ul class="group">
|
||||||
|
<li>State</li>
|
||||||
|
<li>Signal strength</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="group vals" id="">
|
||||||
|
<li>
|
||||||
|
<div id="iforte_lwc_v"></div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div id="iforte_lws_v">%</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 col-xl-4 box-c">
|
||||||
|
<h2>Software versions</h2>
|
||||||
|
<div class="box">
|
||||||
|
<ul class="group">
|
||||||
|
<li>Display System</li>
|
||||||
|
<li>Module M</li>
|
||||||
|
<li>Module L1</li>
|
||||||
|
<li>Module L2</li>
|
||||||
|
<li>Module O</li>
|
||||||
|
<li>Module F-A</li>
|
||||||
|
<li>Module F-B</li>
|
||||||
|
<li>Module G1</li>
|
||||||
|
<li>Module G2</li>
|
||||||
|
<li>Module P</li>
|
||||||
|
<li>Module C1</li>
|
||||||
|
<li>Module C2</li>
|
||||||
|
<li>Module DL</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="group vals" id="sw_vers">
|
||||||
|
<li>1.9</li>
|
||||||
|
<li>1.4</li>
|
||||||
|
<li>1.6</li>
|
||||||
|
<li>1.5</li>
|
||||||
|
<li>1.3</li>
|
||||||
|
<li>1.1</li>
|
||||||
|
<li>1.1</li>
|
||||||
|
<li>1.5</li>
|
||||||
|
<li>1.5</li>
|
||||||
|
<li>1.2</li>
|
||||||
|
<li>1.2</li>
|
||||||
|
<li>1.2</li>
|
||||||
|
<li>1.2</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 col-xl-4 box-c">
|
||||||
|
<h2>Device state</h2>
|
||||||
|
<div class="box">
|
||||||
|
<ul class="group">
|
||||||
|
<li>Device status</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="group vals" id="">
|
||||||
|
<li>
|
||||||
|
<div id="iforte_devs_v"></div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<button
|
||||||
|
class="btn btn-primary btn-block esm dn btn-success"
|
||||||
|
value="0"
|
||||||
|
style="display: inline-block"
|
||||||
|
id="esm"
|
||||||
|
>
|
||||||
|
Enter standby mode
|
||||||
|
</button>
|
||||||
|
<div>Current RAINS status</div>
|
||||||
|
<div>
|
||||||
|
<small class="fl">WET</small>
|
||||||
|
<small class="fr">DRY</small>
|
||||||
|
</div>
|
||||||
|
<div class="rains">
|
||||||
|
<div id="iforte_rains_bar_current" style="width: 50%"></div>
|
||||||
|
</div>
|
||||||
|
<div>MAX WET/resettable</div>
|
||||||
|
<div>
|
||||||
|
<small class="fl">WET</small>
|
||||||
|
<small class="fr">DRY</small>
|
||||||
|
</div>
|
||||||
|
<div class="rains">
|
||||||
|
<div id="iforte_rains_bar_max" style="width: 50%"></div>
|
||||||
|
</div>
|
||||||
|
<button class="btn btn-primary btn-block" id="maxwetreset">MAX WET reset</button>
|
||||||
|
<p>
|
||||||
|
<small id="iforte_demo_rains_last_reset"></small>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 box-c">
|
||||||
|
<h2 id="sta_err">Status messages</h2>
|
||||||
|
<div class="box">
|
||||||
|
<li>
|
||||||
|
This is a simulated REAP™ page for demo purposes. Some content
|
||||||
|
might be different on real fixtures.
|
||||||
|
</li>
|
||||||
|
<li>Big thanks to Vincent BOUQUET for creating this simulator.</li>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="cfg-modal" class="modal fade" tabindex="-1" role="dialog">
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<img src="../files/settings.svg" />
|
||||||
|
<h5 class="modal-title" id="m-t"></h5>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="close"
|
||||||
|
data-dismiss="modal"
|
||||||
|
aria-label="Close"
|
||||||
|
>
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body" id="m-b"></div>
|
||||||
|
<div class="modal-footer" id="m-f">
|
||||||
|
<button type="button" class="btn btn-primary sb">Save</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
var a_m = -1;
|
||||||
|
var m_t = [
|
||||||
|
"DMX/RDM settings",
|
||||||
|
"Reset timers",
|
||||||
|
"Reset temperatures",
|
||||||
|
"Wireless settings",
|
||||||
|
];
|
||||||
|
|
||||||
|
function open_modal(i) {
|
||||||
|
a_m = i;
|
||||||
|
if (a_m < m_t.length) {
|
||||||
|
$("#m-t").html(m_t[a_m]);
|
||||||
|
}
|
||||||
|
$(".sb").unbind();
|
||||||
|
$("#m-f").empty();
|
||||||
|
$("#m-f").append(
|
||||||
|
'<button type="button" class="btn btn-primary sb">Save</button>');
|
||||||
|
if (a_m == 0) $("#m-f").show();
|
||||||
|
else $("#m-f").hide();
|
||||||
|
var h = "";
|
||||||
|
if (a_m == 0) {
|
||||||
|
h += c_txt("iforte_dmxa","DMX address","Please put DMX address from 1 to 512");
|
||||||
|
h += c_opt("iforte_dmxp", "DMX preset", [2], "Mode ", 0, 1, "");
|
||||||
|
h += c_opt("iforte_dmxi","DMX input",["wired", "wireless", "wireless XLR out"],"",0,1,"Can not set wireless input now!");
|
||||||
|
h += c_txt("iforte_rdmn","RDM label","Please insert label,max 32 characters");
|
||||||
|
} else if (a_m == 1) {
|
||||||
|
h += c_btn("Power on time reset", 0, " rh");
|
||||||
|
} else if (a_m == 2) {
|
||||||
|
h += c_btn("LEDs temperature reset", 0, " rt");
|
||||||
|
h += c_btn("PSU temperature reset", 3, " rt");
|
||||||
|
h += c_btn("Driver temperature reset", 1, " rt");
|
||||||
|
h += c_btn("Base temperature reset", 2, " rt");
|
||||||
|
} else if (a_m == 3) {
|
||||||
|
h += c_btn("Unlink Wireless module", 0, " lwu");
|
||||||
|
}
|
||||||
|
|
||||||
|
// pers set
|
||||||
|
$("#m-b").html(h);
|
||||||
|
copy_form_values(1);
|
||||||
|
$("#cfg-modal").modal();
|
||||||
|
$(".sb").bind("click", function () {
|
||||||
|
loader(1);
|
||||||
|
var par = ["iforte_dmxa","iforte_dmxp","iforte_dmxi","iforte_rdmn"];
|
||||||
|
do_ajax("/set_dmx", serialize_parameters(par));
|
||||||
|
});
|
||||||
|
|
||||||
|
// hours reset
|
||||||
|
$(".rh").bind("click", function () {
|
||||||
|
loader(1);
|
||||||
|
do_ajax('/reset_hours', "rh=" + this.value)
|
||||||
|
});
|
||||||
|
|
||||||
|
// max temp reset
|
||||||
|
$(".rt").bind("click", function () {
|
||||||
|
loader(1);
|
||||||
|
do_ajax('/reset_temps', "rt=" + this.value)
|
||||||
|
});
|
||||||
|
|
||||||
|
// wireless unlink
|
||||||
|
$(".lwu").bind("click", function () {
|
||||||
|
loader(1);
|
||||||
|
close_modal();
|
||||||
|
loader(0);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// standby mode
|
||||||
|
$("#esm").on("click", function () {
|
||||||
|
toggleStandbyMode();
|
||||||
|
});
|
||||||
|
// max wet reset
|
||||||
|
$("#maxwetreset").on("click", function () {
|
||||||
|
do_ajax('/max_wet', "0");
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -1,39 +1,39 @@
|
|||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
|
||||||
<link rel="stylesheet" href="../files/bootstrap.min.css">
|
<link rel="stylesheet" href="../files/bootstrap.min.css">
|
||||||
<link rel="stylesheet" href="../files/layout.css">
|
<link rel="stylesheet" href="../files/layout.css">
|
||||||
<script src="../files/jquery-3.3.1.min.js"></script>
|
<script src="../files/jquery-3.3.1.min.js"></script>
|
||||||
<script src="../files/popper.min.js"></script>
|
<script src="../files/popper.min.js"></script>
|
||||||
<script src="../files/bootstrap.min.js"></script>
|
<script src="../files/bootstrap.min.js"></script>
|
||||||
<script src="./base.js"></script>
|
<script src="./base.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<nav class="navbar fixed-top navbar-expand-md navbar-dark bg-dark">
|
<nav class="navbar fixed-top navbar-expand-md navbar-dark bg-dark">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<a class="navbar-brand" href="./index.html"><img src="../files/robe_logo_white.svg"></a><button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"><span class="navbar-toggler-icon"></span></button>
|
<a class="navbar-brand" href="./index.html"><img src="../files/robe_logo_white.svg"></a><button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbar"><span class="navbar-toggler-icon"></span></button>
|
||||||
<div class="collapse navbar-collapse" id="navbar">
|
<div class="collapse navbar-collapse" id="navbar">
|
||||||
<ul class="navbar-nav mr-auto">
|
<ul class="navbar-nav mr-auto">
|
||||||
<li class="nav-item"><a class="nav-link" href="./index.html">Status</a></li>
|
<li class="nav-item"><a class="nav-link" href="./index.html">Status</a></li>
|
||||||
<li class="nav-item"><a class="nav-link" href="./personality.html">Personality</a></li>
|
<li class="nav-item"><a class="nav-link" href="./personality.html">Personality</a></li>
|
||||||
<li class="nav-item active"><a class="nav-link" href="./logs.html">Logs</a></li>
|
<li class="nav-item active"><a class="nav-link" href="./logs.html">Logs</a></li>
|
||||||
<li class="nav-item"><a class="nav-link" href="./sensors.html">RAINS logs</a></li>
|
<li class="nav-item"><a class="nav-link" href="./sensors.html">RAINS logs</a></li>
|
||||||
<li class="nav-item"><a class="nav-link" href="./discovery.html">Discovery</a></li>
|
<li class="nav-item"><a class="nav-link" href="./discovery.html">Discovery</a></li>
|
||||||
<li class="nav-item"><a class="nav-link" id="scfg">Settings</a></li>
|
<li class="nav-item"><a class="nav-link" id="scfg">Settings</a></li>
|
||||||
<li class="nav-item"><a class="nav-link" id="idnt"><img class="rdmi" src="../files/identify.svg"></a></li>
|
<li class="nav-item"><a class="nav-link" id="idnt"><img class="rdmi" src="../files/identify.svg"></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</div>
|
||||||
<div class="fixed-top text-center device-label" id="pth" onclick="window.location = ('../index.html')"></div>
|
</nav>
|
||||||
<div class="container-fluid in">
|
<div class="fixed-top text-center device-label" id="pth" ></div>
|
||||||
<h1>Device logs</h1>
|
<div class="container-fluid in">
|
||||||
<div class="row" id="boxes">
|
<h1>Device logs</h1>
|
||||||
<div class="col-12 box-c">
|
<div class="row" id="boxes">
|
||||||
<h2 id="sta_err"><button class="btn btn-primary btn-pm" type="button" data-toggle="collapse"
|
<div class="col-12 box-c">
|
||||||
data-target="#lfb"><i class="blue"></i></button> Logs filter<a class="cfg"
|
<h2 id="sta_err"><button class="btn btn-primary btn-pm" type="button" data-toggle="collapse"
|
||||||
onclick="cfgm();"><img src="../files/settings.svg"></a></h2>
|
data-target="#lfb"><i class="blue"></i></button> Logs filter<a class="cfg"
|
||||||
|
onclick="cfgm();"><img src="../files/settings.svg"></a></h2>
|
||||||
<div class="box collapse clearfix" id="lfb">
|
<div class="box collapse clearfix" id="lfb">
|
||||||
<small>Logs filters not functionnal on this simulator.</small>
|
<small>Logs filters not functionnal on this simulator.</small>
|
||||||
<br>
|
<br>
|
||||||
@@ -362,7 +362,7 @@
|
|||||||
<li class="">37°C</li>
|
<li class="">37°C</li>
|
||||||
<li class="dn">-32°C</li>
|
<li class="dn">-32°C</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>Display orientation</h3>Side Botom
|
<h3>Display orientation</h3>Side Bottom
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -386,7 +386,7 @@
|
|||||||
<li class="">34°C</li>
|
<li class="">34°C</li>
|
||||||
<li class="">33°C</li>
|
<li class="">33°C</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>Display orientation</h3>Side Botom
|
<h3>Display orientation</h3>Side Bottom
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -407,7 +407,7 @@
|
|||||||
<li class="">21°C</li>
|
<li class="">21°C</li>
|
||||||
<li class="dn">-32°C</li>
|
<li class="dn">-32°C</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h3>Display orientation</h3>Side Botom
|
<h3>Display orientation</h3>Side Bottom
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -459,83 +459,99 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
|
var is_sniffing = false;
|
||||||
|
|
||||||
// CREATES MODAL FOR LOG TOOLS
|
// CREATES MODAL FOR LOG TOOLS
|
||||||
function cfgm() {
|
function cfgm() {
|
||||||
$('#m-t').html('Logs tools');
|
$('#m-t').html('Logs tools');
|
||||||
$('#m-f').empty();
|
$('#m-f').empty();
|
||||||
$('.sb').unbind();
|
$('.sb').unbind();
|
||||||
var tl = c_btn('Download log file', 0, ' dlog');
|
var tl = c_btn('Download log file', 0, ' dlog');
|
||||||
tl += c_btn('Start DMX sniff', 0, ' ddmx');
|
if (!is_sniffing) {
|
||||||
$('#m-b').html(tl);
|
tl += c_btn('Start DMX sniff', 0, ' ddmx');
|
||||||
$('#cfg-modal').modal();
|
} else {
|
||||||
$('.dlog').bind('click', function () {
|
tl += c_btn('Stop DMX sniff', 0, ' ddmx');
|
||||||
close_modal()
|
}
|
||||||
});
|
$('#m-b').html(tl);
|
||||||
$('.ddmx').bind('click', function () {
|
$('#cfg-modal').modal();
|
||||||
close_modal()
|
$('.dlog').bind('click', function () {
|
||||||
})
|
// download logs
|
||||||
|
close_modal()
|
||||||
|
});
|
||||||
|
$('.ddmx').bind('click', function () {
|
||||||
|
// start sniff
|
||||||
|
if (is_sniffing) {
|
||||||
|
$('.ddmx').html('Start DMX sniff');
|
||||||
|
is_sniffing = false;
|
||||||
|
} else {
|
||||||
|
$('.ddmx').html('Stop DMX sniff');
|
||||||
|
is_sniffing = true;
|
||||||
}
|
}
|
||||||
|
close_modal()
|
||||||
function lfix(l) {
|
})
|
||||||
return l.charAt(0).toUpperCase() + l.slice(1).toLowerCase().replace('ems', 'EMS')
|
}
|
||||||
}
|
|
||||||
|
function lfix(l) {
|
||||||
function c_chb(id, t, v, ch) {
|
return l.charAt(0).toUpperCase() + l.slice(1).toLowerCase().replace('ems', 'EMS')
|
||||||
var html =
|
}
|
||||||
'<div class="form-check form-check-inline"><input type="checkbox" class="form-check-input" id="' + id +
|
|
||||||
'" value="' + v + '"' + ch + '>';
|
function c_chb(id, t, v, ch) {
|
||||||
html += '<label class="form-check-label" for="' + id + '">' + t + '</label></div>';
|
var html =
|
||||||
return html
|
'<div class="form-check form-check-inline"><input type="checkbox" class="form-check-input" id="' + id +
|
||||||
}
|
'" value="' + v + '"' + ch + '>';
|
||||||
|
html += '<label class="form-check-label" for="' + id + '">' + t + '</label></div>';
|
||||||
function c_tit(id, t, e, c, p) {
|
return html
|
||||||
var html =
|
}
|
||||||
'<h3><button class="btn btn-primary btn-pm" type="button" data-toggle="collapse" data-target="#' + id +
|
|
||||||
'"><i></i></button>';
|
function c_tit(id, t, e, c, p) {
|
||||||
html += ' ' + t;
|
var html =
|
||||||
if (p) html += '<div class="fall"><input type="checkbox" id="' + id + '_p"> all must pass</div>';
|
'<h3><button class="btn btn-primary btn-pm" type="button" data-toggle="collapse" data-target="#' + id +
|
||||||
html += '</h3>';
|
'"><i></i></button>';
|
||||||
html += '<div class="collapse' + c + '" id="' + id + '">';
|
html += ' ' + t;
|
||||||
|
if (p) html += '<div class="fall"><input type="checkbox" id="' + id + '_p"> all must pass</div>';
|
||||||
|
html += '</h3>';
|
||||||
|
html += '<div class="collapse' + c + '" id="' + id + '">';
|
||||||
if (e) html += '</div>';
|
if (e) html += '</div>';
|
||||||
return html
|
return html
|
||||||
}
|
}
|
||||||
|
|
||||||
function c_ftmp(i, t) {
|
function c_ftmp(i, t) {
|
||||||
var html = '';
|
var html = '';
|
||||||
html += '<div class="form-row">';
|
html += '<div class="form-row">';
|
||||||
html += '<div class="form-group col-auto"><label class="col-form-label" id="tl' + i + '" for="fts' + i +
|
html += '<div class="form-group col-auto"><label class="col-form-label" id="tl' + i + '" for="fts' + i +
|
||||||
'">' + t + '</label></div>';
|
'">' + t + '</label></div>';
|
||||||
html += '<div class="form-group col-auto"><select class="form-control" id="fts' + i + '">';
|
html += '<div class="form-group col-auto"><select class="form-control" id="fts' + i + '">';
|
||||||
html += '<option value="0">-</option><option value="1"><=</option><option value="2">>=</option>';
|
html += '<option value="0">-</option><option value="1"><=</option><option value="2">>=</option>';
|
||||||
html += '</select></div>';
|
html += '</select></div>';
|
||||||
html += '<div class="form-group col-auto"><input type="text" class="form-control" size="5" id="ftv' + i +
|
html += '<div class="form-group col-auto"><input type="text" class="form-control" size="5" id="ftv' + i +
|
||||||
'"></div>';
|
'"></div>';
|
||||||
html += '<div class="form-group col-auto"><label class="col-form-label" for="ftv' + i +
|
html += '<div class="form-group col-auto"><label class="col-form-label" for="ftv' + i +
|
||||||
'">°<span class="tu" t1_tu_v"></span></label></div>';
|
'">°<span class="tu" t1_tu_v"></span></label></div>';
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
return html
|
return html
|
||||||
}
|
}
|
||||||
|
|
||||||
function c_dt(n, t, e, c, it) {
|
function c_dt(n, t, e, c, it) {
|
||||||
var html = '<div class="form-group' + c + '">';
|
var html = '<div class="form-group' + c + '">';
|
||||||
html += '<label for="' + n + '" class="col-form-label">' + t + '</label>';
|
html += '<label for="' + n + '" class="col-form-label">' + t + '</label>';
|
||||||
html += '</div><div class="form-group' + c + '">';
|
html += '</div><div class="form-group' + c + '">';
|
||||||
html += '<input type="' + it + '" class="form-control" id="' + n + '" step="1">';
|
html += '<input type="' + it + '" class="form-control" id="' + n + '" step="1">';
|
||||||
html += e.length > 0 ? '<div class="invalid-feedback">' + e + '</div>' : '';
|
html += e.length > 0 ? '<div class="invalid-feedback">' + e + '</div>' : '';
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
return html
|
return html
|
||||||
}
|
}
|
||||||
|
|
||||||
function c_sil(id, t, o) {
|
function c_sil(id, t, o) {
|
||||||
var html = '<div class="form-group col-auto"><label class="col-form-label" for="' + id + '">' + t +
|
var html = '<div class="form-group col-auto"><label class="col-form-label" for="' + id + '">' + t +
|
||||||
'</label></div>';
|
'</label></div>';
|
||||||
html += '<div class="form-group col-auto"><select class="form-control" id="' + id + '">';
|
html += '<div class="form-group col-auto"><select class="form-control" id="' + id + '">';
|
||||||
for (i = 0; i < o.length; i++) {
|
for (i = 0; i < o.length; i++) {
|
||||||
html += '<option value="' + i + '">' + o[i] + '</option>'
|
html += '<option value="' + i + '">' + o[i] + '</option>'
|
||||||
}
|
}
|
||||||
html += '</select></div>';
|
html += '</select></div>';
|
||||||
return html
|
return html
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
<div
|
<div
|
||||||
class="fixed-top text-center device-label"
|
class="fixed-top text-center device-label"
|
||||||
id="pth"
|
id="pth"
|
||||||
onclick="window.location = ('../index.html')"
|
|
||||||
></div>
|
></div>
|
||||||
<div class="container-fluid in">
|
<div class="container-fluid in">
|
||||||
<h1>Personality</h1>
|
<h1>Personality</h1>
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="fixed-top text-center device-label" id="pth" onclick="window.location = ('../index.html')"></div>
|
<div class="fixed-top text-center device-label" id="pth" ></div>
|
||||||
<div class="container-fluid in">
|
<div class="container-fluid in">
|
||||||
<h1>RAINS logs</h1>
|
<h1>RAINS logs</h1>
|
||||||
<div class="row" id="boxes">
|
<div class="row" id="boxes">
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="fixed-top text-center device-label" id="pth" onclick="window.location = ('../index.html')"></div>
|
<div class="fixed-top text-center device-label" id="pth" ></div>
|
||||||
<div class="container in">
|
<div class="container in">
|
||||||
<h1>Discovery</h1>
|
<h1>Discovery</h1>
|
||||||
<div class="row" id="boxes">
|
<div class="row" id="boxes">
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="fixed-top text-center device-label" id="pth" onclick="window.location = ('../index.html')"></div>
|
<div class="fixed-top text-center device-label" id="pth" ></div>
|
||||||
<div class="container in">
|
<div class="container in">
|
||||||
<h1>Device status</h1>
|
<h1>Device status</h1>
|
||||||
<div class="row" id="boxes">
|
<div class="row" id="boxes">
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="fixed-top text-center device-label" id="pth" onclick="window.location = ('../index.html')"></div>
|
<div class="fixed-top text-center device-label" id="pth" ></div>
|
||||||
<div class="container in">
|
<div class="container in">
|
||||||
<h1>Device logs</h1>
|
<h1>Device logs</h1>
|
||||||
<div class="row" id="boxes">
|
<div class="row" id="boxes">
|
||||||
@@ -323,22 +323,38 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
// CREATES MODAL FOR LOG TOOLS
|
|
||||||
function cfgm() {
|
var is_sniffing = false;
|
||||||
$('#m-t').html('Logs tools');
|
|
||||||
$('#m-f').empty();
|
// CREATES MODAL FOR LOG TOOLS
|
||||||
$('.sb').unbind();
|
function cfgm() {
|
||||||
var tl = c_btn('Download log file', 0, ' dlog');
|
$('#m-t').html('Logs tools');
|
||||||
tl += c_btn('Start DMX sniff', 0, ' ddmx');
|
$('#m-f').empty();
|
||||||
$('#m-b').html(tl);
|
$('.sb').unbind();
|
||||||
$('#cfg-modal').modal();
|
var tl = c_btn('Download log file', 0, ' dlog');
|
||||||
$('.dlog').bind('click', function () {
|
if (!is_sniffing) {
|
||||||
close_modal()
|
tl += c_btn('Start DMX sniff', 0, ' ddmx');
|
||||||
});
|
} else {
|
||||||
$('.ddmx').bind('click', function () {
|
tl += c_btn('Stop DMX sniff', 0, ' ddmx');
|
||||||
close_modal()
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
$('#m-b').html(tl);
|
||||||
|
$('#cfg-modal').modal();
|
||||||
|
$('.dlog').bind('click', function () {
|
||||||
|
// download logs
|
||||||
|
close_modal()
|
||||||
|
});
|
||||||
|
$('.ddmx').bind('click', function () {
|
||||||
|
// start sniff
|
||||||
|
if (is_sniffing) {
|
||||||
|
$('.ddmx').html('Start DMX sniff');
|
||||||
|
is_sniffing = false;
|
||||||
|
} else {
|
||||||
|
$('.ddmx').html('Stop DMX sniff');
|
||||||
|
is_sniffing = true;
|
||||||
|
}
|
||||||
|
close_modal()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
function lfix(l) {
|
function lfix(l) {
|
||||||
return l.charAt(0).toUpperCase() + l.slice(1).toLowerCase().replace('ems', 'EMS')
|
return l.charAt(0).toUpperCase() + l.slice(1).toLowerCase().replace('ems', 'EMS')
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="fixed-top text-center device-label" id="pth" onclick="window.location = ('../index.html')"></div>
|
<div class="fixed-top text-center device-label" id="pth" ></div>
|
||||||
<div class="container in">
|
<div class="container in">
|
||||||
<h1>Personality</h1>
|
<h1>Personality</h1>
|
||||||
<div class="row" id="boxes">
|
<div class="row" id="boxes">
|
||||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |