First version of POCloud HTML templates

This commit is contained in:
Patrick McDonagh
2016-05-16 07:35:08 -05:00
parent cca0d15791
commit d46e4e0179
11 changed files with 1573 additions and 2873 deletions

View File

@@ -1,4 +1,4 @@
<% if (channels["vfdipp.downholetoolenabled"].value == 0){ %>
<% if (channels["ipp.downholetoolenabled"].value == 0){ %>
<div class="row">
<div class="well mar15 text-center">
<h1>THE DOWNHOLE SENSOR IS DISABLED</h1>
@@ -12,24 +12,24 @@
<div class='col-xs-4 text-center box-me'>
<h2>Intake Pressure</h2>
<div class="gauge-box">
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintakepressure" data-chart="solidgauge" data-nodename="vfdipp.dhintakepressure" data-units="PSI" data-min="0" data-max="<%= channels["vfdipp.dhpsirating"].value %>" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="dhintakepressure"><%= channels["vfdipp.dhintakepressure"].timestamp %></span>
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintakepressure" data-chart="solidgauge" data-nodename="ipp.dhintakepressure" data-units="PSI" data-min="0" data-max="<%= channels["ipp.dhpsirating"].value %>" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="dhintakepressure"><%= channels["ipp.dhintakepressure"].timestamp %></span>
</div>
</div>
<div class='col-xs-4 text-center box-me'>
<h2>Fluid Level</h2>
<div class="gauge-box">
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhfluidlevel" data-chart="solidgauge" data-nodename="vfdipp.dhfluidlevel" data-units="ft." data-min="0" data-max="1000" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="dhfluidlevel"><%= channels["vfdipp.dhfluidlevel"].timestamp %></span>
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhfluidlevel" data-chart="solidgauge" data-nodename="ipp.dhfluidlevel" data-units="ft." data-min="0" data-max="1000" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="dhfluidlevel"><%= channels["ipp.dhfluidlevel"].timestamp %></span>
</div>
</div>
<div class='col-xs-4 text-center box-me'>
<h2>Intake Temperature</h2>
<div class="gauge-box">
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintaketemperature" data-chart="solidgauge" data-nodename="vfdipp.dhintaketemperature" data-units="&deg;F" data-min="0" data-max="200" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="dhintaketemperature"><%= channels["vfdipp.dhintaketemperature"].timestamp %></span>
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintaketemperature" data-chart="solidgauge" data-nodename="ipp.dhintaketemperature" data-units="&deg;F" data-min="0" data-max="200" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="dhintaketemperature"><%= channels["ipp.dhintaketemperature"].timestamp %></span>
</div>
</div>
@@ -37,15 +37,15 @@
<h2>Instrument Status</h2>
<div class="gauge-box">
<h1 data-valueupdate="dhdownholestatusint">
<% if(channels["vfdipp.dhdownholestatusint"].value == 0) { %>
<% if(channels["ipp.dhdownholestatusint"].value == 0) { %>
<span class="label label-success">OK</span>
<% } else if (channels["vfdipp.dhdownholestatusint"].value == 1){ %>
<% } else if (channels["ipp.dhdownholestatusint"].value == 1){ %>
<span class="label label-warning">Connecting...</span>
<% } else if (channels["vfdipp.dhdownholestatusint"].value == 2){ %>
<% } else if (channels["ipp.dhdownholestatusint"].value == 2){ %>
<span class="label label-danger">Open Circuit</span>
<% } else if (channels["vfdipp.dhdownholestatusint"].value == 3){ %>
<% } else if (channels["ipp.dhdownholestatusint"].value == 3){ %>
<span class="label label-danger">Shorted</span>
<% } else if (channels["vfdipp.dhdownholestatusint"].value == 4){ %>
<% } else if (channels["ipp.dhdownholestatusint"].value == 4){ %>
<span class="label label-danger">Cannot Decode</span>
<% } %>
</h1>
@@ -59,22 +59,22 @@
<tbody>
<tr>
<td>Max Pressure (Startup)</td>
<td><%= channels["vfdipp.dhmaxintakepressurestartup"].value %></td>
<td><%= channels["ipp.dhmaxintakepressurestartup"].value %></td>
</tr>
<tr>
<td>Max Pressure (Lifetime)</td>
<td><%= channels["vfdipp.dhmaxintakepressureforever"].value %></td>
<td><%= channels["ipp.dhmaxintakepressureforever"].value %></td>
</tr>
<tr>
<td>Max Temp. (Startup)</td>
<td><%= channels["vfdipp.dhmaxintaketemperaturestartup"].value %></td>
<td><%= channels["ipp.dhmaxintaketemperaturestartup"].value %></td>
</tr>
<tr>
<td>Max Temp. (Lifetime)</td>
<td><%= channels["vfdipp.dhmaxintaketemperatureforever"].value %></td>
<td><%= channels["ipp.dhmaxintaketemperatureforever"].value %></td>
</tr>
</tbody>
@@ -96,7 +96,7 @@
</div>
</div>
<hr>
<div class='clearfix col-xs-12' style='height: 300px' id="dynamicChart" data-chart="dynamicchart" data-daysofhistory="7" data-chartlabel="Data" data-ylabel="" data-xlabel="Date" data-units="" data-channelnames="vfdipp.dhintakepressure,vfdipp.dhintaketemperature,vfdipp.dhmaxintakepressureforever,vfdipp.dhmaxintakepressurestartup,vfdipp.dhmaxintaketemperaturestartup,vfdipp.dhmaxintaketemperatureforever"></div>
<div class='clearfix col-xs-12' style='height: 300px' id="dynamicChart" data-chart="dynamicchart" data-daysofhistory="7" data-chartlabel="Data" data-ylabel="" data-xlabel="Date" data-units="" data-channelnames="ipp.dhintakepressure,ipp.dhintaketemperature,ipp.dhmaxintakepressureforever,ipp.dhmaxintakepressurestartup,ipp.dhmaxintaketemperaturestartup,ipp.dhmaxintaketemperatureforever"></div>
</div>
<div class="text-center"><h1>CONFIGURATION</h1></div>
@@ -109,7 +109,7 @@
<tr>
<td>Pressure Shutdown Enabled</td>
<td>
<% if (channels["vfdipp.dhpressureshutdownenabled"].value == 1){ %>
<% if (channels["ipp.pressureshutdownenabled"].value == 1){ %>
<span class="label label-success">True</span>
<% } else { %>
<span class="label label-warning">False</span>
@@ -119,13 +119,13 @@
<tr>
<td>Pressure Shutdown Limit</td>
<td><%= channels["vfdipp.dhpressureshutdownlimit"].value %> PSI</td>
<td><%= channels["ipp.pressureshutdown"].value %> PSI</td>
</tr>
<tr>
<td>Pressure Restart Enabled</td>
<td>
<% if (channels["vfdipp.dhpressurestartupenabled"].value == 1){ %>
<% if (channels["ipp.pressurestartupenabled"].value == 1){ %>
<span class="label label-success">True</span>
<% } else { %>
<span class="label label-warning">False</span>
@@ -135,7 +135,7 @@
<tr>
<td>Pressure Startup Limit</td>
<td><%= channels["vfdipp.dhpressurestartup"].value %> PSI</td>
<td><%= channels["ipp.pressurestartup"].value %> PSI</td>
</tr>
</tbody>
@@ -151,7 +151,7 @@
<tr>
<td>Temp. Shutdown Enabled</td>
<td>
<% if (channels["vfdipp.dhtempshutdownenabled"].value == 1){ %>
<% if (channels["ipp.tempshutdownenabled"].value == 1){ %>
<span class="label label-success">True</span>
<% } else { %>
<span class="label label-warning">False</span>
@@ -161,13 +161,13 @@
<tr>
<td>Temp. Shutdown Limit</td>
<td><%= channels["vfdipp.dhtempshutdown"].value %> &deg;F</td>
<td><%= channels["ipp.tempshutdown"].value %> &deg;F</td>
</tr>
<tr>
<td>Temp. Restart Enabled</td>
<td>
<% if (channels["vfdipp.dhtempstartupenabled"].value == 1){ %>
<% if (channels["ipp.tempstartupenabled"].value == 1){ %>
<span class="label label-success">True</span>
<% } else { %>
<span class="label label-warning">False</span>
@@ -177,7 +177,7 @@
<tr>
<td>Temp. Startup Limit</td>
<td><%= channels["vfdipp.dhtempstartuplimit"].value %> &deg;F</td>
<td><%= channels["ipp.tempstartup"].value %> &deg;F</td>
</tr>
</tbody>
@@ -192,22 +192,22 @@
<tbody>
<tr>
<td>Number of Channels</td>
<td><%= channels["vfdipp.dhnumchannels"].value %></td>
<td><%= channels["ipp.dhnumchannels"].value %></td>
</tr>
<tr>
<td>PSI Rating</td>
<td><%= channels["vfdipp.dhpsirating"].value %> PSI</td>
<td><%= channels["ipp.dhpsirating"].value %> PSI</td>
</tr>
<tr>
<td>Tool Type</td>
<td><%= channels["vfdipp.dhtooltype"].value %></td>
<td><%= channels["ipp.dhtooltype"].value %></td>
</tr>
<tr>
<td>Tool Voltage</td>
<td><%= channels["vfdipp.dhtoolvoltage"].value %> V</td>
<td><%= channels["ipp.dhtoolvoltage"].value %> V</td>
</tr>
</tbody>
</table>

View File

@@ -0,0 +1,6 @@
<div class='col-xs-1'>
<div class="<%= nodecolors.statuscolor %> nodecolor"></div>
</div>
<div class='col-xs-6'>
<h3><%= node.vanityname %></h3>
</div>

View File

@@ -0,0 +1,41 @@
<style>
.header h4 {
position: relative;
top: 0.9em;
}
.header h2 {
text-transform: uppercase;
font-size: 14px;
color: #aaa;
margin: 0.75em 0;
}
.header p {
font-size: 24px;
color: black;
font-weight: 600;
}
</style>
<div class="row header">
<div class="col-xs-1">
<div class="<%= nodecolors.statuscolor %> nodecolor"></div>
</div>
<div class="col-xs-2">
<img src="<%= nodeimgurl %>" />
</div>
<div class="col-xs-2">
<h4><%= node.vanityname %></h4>
</div>
<div class="col-xs-3">
<h2>Motor Current</h2>
<p><%=channels["ipp.e300averagecurrent"].value %> A</p>
</div>
<% if (channels["ipp.downholetoolenabled"].value == 1) { %>
<div class="col-xs-3">
<h2>Intake Pressure</h2>
<p><%=channels["ipp.dhintakepressure"].value %> PSI</p>
</div>
<% } %>
</div>

View File

@@ -1,28 +1,15 @@
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>Motor Speed</h2>
<div class="gauge-box">
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-vfdspeedfdbk" data-chart="solidgauge" data-nodename="vfdipp.vfdspeedfdbk" data-units="Hz" data-min="0" data-max="100" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="vfdspeedfdbk"><%= channels["vfdipp.vfdspeedfdbk"].timestamp %></span>
</div>
</div>
<div class='col-xs-8'>
<div style="height:300px" id="chart-vfdspeedfdbk" data-chart="chart" data-nodename1="vfdipp.vfdspeedfdbk" data-datalabel1="Speed" data-daysofhistory="2" data-chartlabel="Motor Speed" data-ylabel="" data-xlabel="Date" data-units=" Hz"></div>
</div>
</div>
<% if (channels["vfdipp.downholetoolenabled"].value == 1) {%>
<% if (channels["ipp.downholetoolenabled"].value == 1) {%>
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>Downhole Pressure</h2>
<div class="gauge-box">
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintakepressure" data-chart="solidgauge" data-nodename="vfdipp.dhintakepressure" data-units="PSI" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="dhintakepressure"><%= channels["vfdipp.dhintakepressure"].timestamp %></span>
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintakepressure" data-chart="solidgauge" data-nodename="ipp.dhintakepressure" data-units="PSI" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="dhintakepressure"><%= channels["ipp.dhintakepressure"].timestamp %></span>
</div>
</div>
<div class='col-xs-8'>
<div style="height:300px" id="chart-dhintakepressure" data-chart="chart" data-nodename1="vfdipp.dhintakepressure" data-datalabel1="Downhole Pressure" data-daysofhistory="2" data-chartlabel="DH Intake Pressure" data-ylabel="" data-xlabel="Date" data-units=" PSI"></div>
<div style="height:300px" id="chart-dhintakepressure" data-chart="chart" data-nodename1="ipp.dhintakepressure" data-datalabel1="Downhole Pressure" data-daysofhistory="2" data-chartlabel="DH Intake Pressure" data-ylabel="" data-xlabel="Date" data-units=" PSI"></div>
</div>
</div>
@@ -30,71 +17,60 @@
<div class='col-xs-4 text-center'>
<h2>Downhole Temperature</h2>
<div class="gauge-box">
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintaketemperature" data-chart="solidgauge" data-nodename="vfdipp.dhintaketemperature" data-units=" &deg; F" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="dhintaketemperature"><%= channels["vfdipp.dhintaketemperature"].timestamp %></span>
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintaketemperature" data-chart="solidgauge" data-nodename="ipp.dhintaketemperature" data-units=" &deg; F" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="dhintaketemperature"><%= channels["ipp.dhintaketemperature"].timestamp %></span>
</div>
</div>
<div class='col-xs-8'>
<div style="height:300px" id="chart-dhintaketemperature" data-chart="chart" data-nodename1="vfdipp.dhintaketemperature" data-datalabel1="Downhole Temperature" data-daysofhistory="2" data-chartlabel="DH Intake Temperature" data-ylabel="" data-xlabel="Date" data-units=" &deg; F"></div>
<div style="height:300px" id="chart-dhintaketemperature" data-chart="chart" data-nodename1="ipp.dhintaketemperature" data-datalabel1="Downhole Temperature" data-daysofhistory="2" data-chartlabel="DH Intake Temperature" data-ylabel="" data-xlabel="Date" data-units=" &deg; F"></div>
</div>
</div>
<% } %>
<% if (channels["vfdipp.tubingpressuretransducerenabled"].value == 1) {%>
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>Average Current</h2>
<div class="gauge-box">
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-e300averagecurrent" data-chart="solidgauge" data-nodename="ipp.e300averagecurrent" data-units="A" data-min="0" data-max="<%= channels["ipp.cfgcflasetting"].value %>" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="e300averagecurrent"><%= channels["ipp.e300averagecurrent"].timestamp %></span>
</div>
</div>
<div class='col-xs-8'>
<div style="height:300px" id="chart-e300averagecurrent" data-chart="chart" data-nodename1="ipp.e300averagecurrent" data-datalabel1="Average Current" data-daysofhistory="2" data-chartlabel="Average Current" data-ylabel="" data-xlabel="Date" data-units=" A"></div>
</div>
</div>
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>Average L-L Voltage</h2>
<div class="gauge-box">
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-e300averagellvoltage" data-chart="solidgauge" data-nodename="ipp.e300averagellvoltage" data-units="V" data-min="0" data-max="600" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="e300averagellvoltage"><%= channels["ipp.e300averagellvoltage"].timestamp %></span>
</div>
</div>
<div class='col-xs-8'>
<div style="height:300px" id="chart-e300averagellvoltage" data-chart="chart" data-nodename1="ipp.e300averagellvoltage" data-datalabel1="Average L-L Voltage" data-daysofhistory="2" data-chartlabel="Average L-L Voltage" data-ylabel="" data-xlabel="Date" data-units=" V"></div>
</div>
</div>
<% if (channels["ipp.pressuretransducerenabled"].value == 1) {%>
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>Downhole Pressure</h2>
<h2>Tubing Pressure</h2>
<div class="gauge-box">
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-tubingpressure" data-chart="solidgauge" data-nodename="vfdipp.tubingpressure" data-units="PSI" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="tubingpressure"><%= channels["vfdipp.tubingpressure"].timestamp %></span>
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-pressurein" data-chart="solidgauge" data-nodename="ipp.pressurein" data-units="PSI" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="pressurein"><%= channels["ipp.pressurein"].timestamp %></span>
</div>
</div>
<div class='col-xs-8'>
<div style="height:300px" id="chart-tubingpressure" data-chart="chart" data-nodename1="vfdipp.tubingpressure" data-datalabel1="Tubing Pressure" data-daysofhistory="2" data-chartlabel="Tubing Pressure" data-ylabel="" data-xlabel="Date" data-units=" PSI"></div>
<div style="height:300px" id="chart-pressurein" data-chart="chart" data-nodename1="ipp.pressurein" data-datalabel1="Tubing Pressure" data-daysofhistory="2" data-chartlabel="Tubing Pressure" data-ylabel="" data-xlabel="Date" data-units=" PSI"></div>
</div>
</div>
<% } %>
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>Output Current</h2>
<div class="gauge-box">
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-vfdoutputcurrent" data-chart="solidgauge" data-nodename="vfdipp.vfdoutputcurrent" data-units="A" data-min="0" data-max="<%= channels["vfdipp.vfdnameplatefla"].value %>" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="vfdoutputcurrent"><%= channels["vfdipp.vfdoutputcurrent"].timestamp %></span>
</div>
</div>
<div class='col-xs-8'>
<div style="height:300px" id="chart-vfdoutputcurrent" data-chart="chart" data-nodename1="vfdipp.vfdoutputcurrent" data-datalabel1="Output Current" data-daysofhistory="2" data-chartlabel="Output Current" data-ylabel="" data-xlabel="Date" data-units=" A"></div>
</div>
</div>
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>Output Voltage</h2>
<div class="gauge-box">
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-vfdoutputvoltage" data-chart="solidgauge" data-nodename="vfdipp.vfdoutputvoltage" data-units="V" data-min="0" data-max="600" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="vfdoutputvoltage"><%= channels["vfdipp.vfdoutputvoltage"].timestamp %></span>
</div>
</div>
<div class='col-xs-8'>
<div style="height:300px" id="chart-vfdoutputvoltage" data-chart="chart" data-nodename1="vfdipp.vfdoutputvoltage" data-datalabel1="Output Voltage" data-daysofhistory="2" data-chartlabel="Output Voltage" data-ylabel="" data-xlabel="Date" data-units=" V"></div>
</div>
</div>
<div class='row row-flex box-me'>
<div class='col-xs-4 text-center'>
<h2>DC Bus Voltage</h2>
<div class="gauge-box">
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-vfddcbusvoltage" data-chart="solidgauge" data-nodename="vfdipp.vfddcbusvoltage" data-units="V" data-min="0" data-max="700" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
<span data-timeupdate="vfddcbusvoltage"><%= channels["vfdipp.vfddcbusvoltage"].timestamp %></span>
</div>
</div>
<div class='col-xs-8'>
<div style="height:300px" id="chart-vfddcbusvoltage" data-chart="chart" data-nodename1="vfdipp.vfddcbusvoltage" data-datalabel1="DC Bus Voltage" data-daysofhistory="2" data-chartlabel="DC Bus Voltage" data-ylabel="" data-xlabel="Date" data-units=" V"></div>
</div>
</div>
<style>
.box-me {

View File

@@ -1,86 +1,5 @@
<div class="text-center"><h1>LIVE VALUES</h1></div>
<div class='row'>
<div class='col-xs-4 text-center box-me'>
<div class="gauge-box">
<table class="table">
<tbody>
<tr>
<td>
<h2>Active Alarms</h2>
</td>
<td></td>
</tr>
<tr>
<td>VFD</td>
<td>
<% if (channels["vfdipp.alarmvfd"].value == 0){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
<% } %>
</td>
</tr>
<tr>
<td>Mode</td>
<td>
<% if (channels["vfdipp.alarmmode"].value == 0){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
<% } %>
</td>
</tr>
<tr>
<td>DH Pressure</td>
<td>
<% if (channels["vfdipp.alarmpressure"].value == 0){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
<% } %>
</td>
</tr>
<tr>
<td>DH Temperature</td>
<td>
<% if (channels["vfdipp.alarmtemperature"].value == 0){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
<% } %>
</td>
</tr>
<tr>
<td>Remote</td>
<td>
<% if (channels["vfdipp.alarmremote"].value == 0){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
<% } %>
</td>
</tr>
<tr>
<td>Tubing Pressure</td>
<td>
<% if (channels["vfdipp.alarmtubingpressure"].value == 0){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
<% } %>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class='row row-flex'>
<div class='col-xs-4 text-center box-me'>
<div class="gauge-box">
<table class="table">
@@ -92,7 +11,7 @@
<td>
<h2>
<% if (channels["vfdipp.startpermissive"].value == 1){ %>
<% if (channels["ipp.startpermissive"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
@@ -102,9 +21,9 @@
</tr>
<tr>
<td>VFD</td>
<td>Overload Relay</td>
<td>
<% if (channels["vfdipp.spvfd"].value == 1){ %>
<% if (channels["ipp.sptrip"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
@@ -115,7 +34,7 @@
<tr>
<td>Mode</td>
<td>
<% if (channels["vfdipp.spmode"].value == 1){ %>
<% if (channels["ipp.spmode"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
@@ -126,7 +45,7 @@
<tr>
<td>DH Pressure</td>
<td>
<% if (channels["vfdipp.sppressure"].value == 1){ %>
<% if (channels["ipp.sppressure"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
@@ -137,18 +56,7 @@
<tr>
<td>DH Temperature</td>
<td>
<% if (channels["vfdipp.sptemperature"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
<% } %>
</td>
</tr>
<tr>
<td>Remote</td>
<td>
<% if (channels["vfdipp.spremote"].value == 1){ %>
<% if (channels["ipp.sptemperature"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
@@ -170,7 +78,7 @@
<td>
<h2>
<% if (channels["vfdipp.runpermissive"].value == 1){ %>
<% if (channels["ipp.runpermissive"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
@@ -180,9 +88,9 @@
</tr>
<tr>
<td>VFD</td>
<td>Overload Relay</td>
<td>
<% if (channels["vfdipp.rpvfd"].value == 1){ %>
<% if (channels["ipp.rptrip"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
@@ -193,7 +101,7 @@
<tr>
<td>Mode</td>
<td>
<% if (channels["vfdipp.rpmode"].value == 1){ %>
<% if (channels["ipp.rpmode"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
@@ -204,7 +112,7 @@
<tr>
<td>DH Pressure</td>
<td>
<% if (channels["vfdipp.rppressure"].value == 1){ %>
<% if (channels["ipp.rppressure"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
@@ -215,18 +123,7 @@
<tr>
<td>DH Temperature</td>
<td>
<% if (channels["vfdipp.rptemperature"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
<% } %>
</td>
</tr>
<tr>
<td>Remote</td>
<td>
<% if (channels["vfdipp.rpremote"].value == 1){ %>
<% if (channels["ipp.rptemperature"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
@@ -237,7 +134,7 @@
<tr>
<td>Tubing Pressure</td>
<td>
<% if (channels["vfdipp.rptubingpressure"].value == 1){ %>
<% if (channels["ipp.rptubingpressure"].value == 1){ %>
<span class="label label-success">OK</span>
<% } else { %>
<span class="label label-danger">NOT OK</span>
@@ -250,30 +147,7 @@
</div>
</div>
<div class='row'>
<div class='col-xs-6 col-xs-offset-3 text-center box-me'>
<h2>Last Shutdown Cause</h2>
<h1>
<% if (channels["vfdipp.lastshutdowncause"].value == 0){ %>
<span class="label label-primary">Unknown</span>
<% } else if (channels["vfdipp.lastshutdowncause"].value == 1) { %>
<span class="label label-primary">Mode</span>
<% } else if (channels["vfdipp.lastshutdowncause"].value == 2) { %>
<span class="label label-primary">DH Pressure</span>
<% } else if (channels["vfdipp.lastshutdowncause"].value == 3) { %>
<span class="label label-primary">DH Temperature</span>
<% } else if (channels["vfdipp.lastshutdowncause"].value == 4) { %>
<span class="label label-primary">Tubing Pressure</span>
<% } else if (channels["vfdipp.lastshutdowncause"].value == 5) { %>
<span class="label label-primary">VFD</span>
<% } else if (channels["vfdipp.lastshutdowncause"].value == 6) { %>
<span class="label label-primary">Remote Trip</span>
<% } else if (channels["vfdipp.lastshutdowncause"].value == 7) { %>
<span class="label label-primary">User Shutdown</span>
<% } %>
</h1>
</div>
</div>
<style>
.box-me {

View File

@@ -9,7 +9,7 @@
</div>
</div>
<hr>
<div class='clearfix col-xs-12' style='height: 450px' id="dynamicChart" data-chart="dynamicchart" data-daysofhistory="7" data-chartlabel="Data" data-ylabel="" data-xlabel="Date" data-units="" data-channelnames="vfdipp.vfdoutputcurrent,vfdipp.vfdspeedref,vfdipp.vfdspeedfdbk,vfdipp.dhintakepressure,vfdipp.dhintaketemperature,vfdipp.tubingpressure,vfdipp.vfddcbusvoltage,vfdipp.vfdoutputvoltage"></div>
<div class='clearfix col-xs-12' style='height: 450px' id="dynamicChart" data-chart="dynamicchart" data-daysofhistory="7" data-chartlabel="Data" data-ylabel="" data-xlabel="Date" data-units="" data-channelnames="ipp.e300averagecurrent,ipp.e300l1current,ipp.e300l2current,ipp.e300l3current,ipp.e300averagellvoltage,ipp.e300l1l2voltage,ipp.e300l2l3voltage,ipp.e300l3l1voltage,ipp.dhintakepressure,ipp.dhintaketemperature,ipp.pressurein,ipp.e300linefrequency,ipp.e300percentcurrentunbalance,ipp.e300percentvoltageunbalance"></div>
<style>
.dynamic-chart-form {
background-color: whiteSmoke;

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,3 @@
import pickle
import xml.etree.ElementTree as ET
tree = ET.parse('tags.xml')
root = tree.getroot()
@@ -22,6 +21,7 @@ ignore_tags = [
"DigitalInput_Status_3",
"DigitalInput_Status_4",
"DigitalInput_Status_5",
"E300_Config_Buffer",
"E300_OUTPUT_NUMBER",
"E300_OUTPUT_SET_CORRECTLY",
"E300_Output_Enable",
@@ -69,9 +69,9 @@ ignore_tags = [
"cfg_I_L3_UndercurrentTripDelay",
"cfg_I_L3_UndercurrentTripLevel",
"cfg_I_L3_UndercurrentWarningLevel",
"cfg_I_TripEnableCurrent", # Enables get build by the enable bits
"cfg_I_TripEnableCurrent", # Enables get build by the enable bits
"cfg_I_WarningEnableCurrent",
"cfg_P_OverApparentPowerInhibitTime", # We're not going to worry about the power configuration for this panel
"cfg_P_OverApparentPowerInhibitTime", # We're not going to worry about the power configuration for this panel
"cfg_P_OverApparentPowerTripDelay",
"cfg_P_OverApparentPowerTripLevel",
"cfg_P_OverApparentPowerWarningLevel",
@@ -259,22 +259,28 @@ for child in root:
tagName = child[1].text
tagType = child[2].text
struct = {
'tag':tagName,
'tag': tagName,
"last_value": "",
"data_type": tagType,
"change_amount": .5,
"last_time_uploaded": 0,
"max_time_between_uploads": 360
"max_time_between_uploads": 3600
}
if tagName in writeable_tags:
struct['read_only'] = False
else:
struct['read_only'] = True
chName = tagName.replace("_", "") # Channel names cannot have underscores
chName = chName[0].lower() + chName[1:] # Channel names should all start wth a lowercase letter
if tagName[0:3] == "cfg":
struct['max_time_between_uploads'] = 86400
if not tagName in ignore_tags:
chName = tagName.replace("_", "") # Channel names cannot have underscores
chName = chName.lower() # Channel names should all start wth a lowercase letter
if len(chName) > 30:
chName = chName[0:30]
if tagName not in ignore_tags:
if tagType == "BOOL":
struct['change_amount'] = None
channels[chName] = struct
@@ -316,8 +322,6 @@ with open('channels.txt', 'wb') as ch_txt:
rw = "WRITEABLE"
ch_txt.write('[] - {} - {} - {}\r'.format(x, c['data_type'], rw))
print("UNREADABLE CHANNELS: ")
for y in sorted(unreadable_channels):
print("{} - {}".format(unreadable_channels[y]['data_type'], y))

File diff suppressed because one or more lines are too long