481 lines
14 KiB
HTML
481 lines
14 KiB
HTML
<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>
|