New, updated version of web. Might contain customizations
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<div id="footer">
|
||||
Created in 101 minutes, in VI, while sitting in a train Wien -> Bratislava.
|
||||
Uploeaded over EDGE with a lot of signal-less territory on roaming. Cheers.
|
||||
Measurements utilise Arduino, ESP8266, lot of python, another lot
|
||||
of Micropython, tons of "heart", no cocaine, but shitloads of Tea. Cheers.
|
||||
Done by Ventil.
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -10,14 +10,37 @@
|
||||
<meta name="Keywords" content="automation, python, development, arduino, measurement">
|
||||
<meta name="description" content="RasPi automation hardcore">
|
||||
<meta name="Author" content="Spoton s.r.o. | Milan Toman">
|
||||
<link rel="stylesheet" type="text/css" href="./static/css/def_style.css">
|
||||
<link rel="stylesheet" type="text/css" href="https://bastart.spoton.cz/static/css/def_style.css">
|
||||
<!-- Bootstrap core CSS -->
|
||||
<link href="../static/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="https://bastart.spoton.cz/static/css/bootstrap.min.css" rel="stylesheet">
|
||||
<!-- Custom styles for this template -->
|
||||
<link href="../static/css/dashboard.css" rel="stylesheet">
|
||||
<link href="https://bastart.spoton.cz/static/css/dashboard.css" rel="stylesheet">
|
||||
<!-- Dygraph css and js -->
|
||||
<link href="../static/css/dygraph.css" rel="stylesheet">
|
||||
<script type="text/javascript" src="../static/js/dygraph.js"></script>
|
||||
<link href="https://bastart.spoton.cz/static/css/dygraph.css" rel="stylesheet">
|
||||
<script type="text/javascript" src="https://bastart.spoton.cz/static/js/dygraph.js"></script>
|
||||
<link rel="icon" href="../../favicon.ico">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!--
|
||||
<script>
|
||||
//window.fbAsyncInit = function() {
|
||||
// FB.init({
|
||||
// appId : '315766815677378',
|
||||
// cookie : true,
|
||||
// xfbml : true,
|
||||
// version : 'v3.2'
|
||||
// });
|
||||
//
|
||||
// FB.AppEvents.logPageView();
|
||||
//
|
||||
//};
|
||||
//
|
||||
//(function(d, s, id){
|
||||
// var js, fjs = d.getElementsByTagName(s)[0];
|
||||
// if (d.getElementById(id)) {return;}
|
||||
// js = d.createElement(s); js.id = id;
|
||||
// js.src = "https://connect.facebook.net/en_US/sdk.js";
|
||||
// fjs.parentNode.insertBefore(js, fjs);
|
||||
// }(document, 'script', 'facebook-jssdk'));
|
||||
</script>-->
|
||||
|
||||
56
web/templates/status_admin.html
Normal file → Executable file
56
web/templates/status_admin.html
Normal file → Executable file
@@ -4,19 +4,35 @@
|
||||
<div class="col"></div>
|
||||
<main class="pt-4 col-10">
|
||||
<h1>Status Dashboard</h1>
|
||||
<h5>{timestamp} UTC</h5>
|
||||
<h5 id="timestamp">{timestamp} UTC</h5>
|
||||
<p>Up since: {_uptime}</p>
|
||||
|
||||
<section class="row text-center placeholders">
|
||||
<div class="col placeholder">
|
||||
<img src="{sol_icon}" width="20" class="img-fluid" alt="ISS solar irradiation">
|
||||
<h3>{sol_value}</h3>
|
||||
<h3 id="sol_val">{_sol_value}</h3>
|
||||
<div class="text-muted">[V]</div>
|
||||
</div>
|
||||
<div class="col placeholder">
|
||||
<img src="{cap_icon}" width="20" class="img-fluid" alt="ISS Capacitor state">
|
||||
<h3>{cap_value}</h3>
|
||||
<h3 id="cap_val">{_cap_value}</h3>
|
||||
<div class="text-muted">[V]</div>
|
||||
</div>
|
||||
<div class="col placeholder">
|
||||
<img src="{cpu_icon}" width="20" class="img-fluid" alt="CPU %">
|
||||
<h3 id="cpu_val">{_cpu}</h3>
|
||||
<div class="text-muted">[%]</div>
|
||||
</div>
|
||||
<div class="col placeholder">
|
||||
<img src="{mem_icon}" width="20" class="img-fluid" alt="Mem / Disk %">
|
||||
<h3><span id="mem">{_mem}</span> / <span id="disk">{_disk}</span></h3>
|
||||
<div class="text-muted">[%]</div>
|
||||
</div>
|
||||
<div class="col placeholder">
|
||||
<img src="{network_icon}" width="20" class="img-fluid" alt="RasPI network">
|
||||
<h3><span id="net_in">{_net_in}</span> / <span id="net_out">{_net_out}</span></h3>
|
||||
<div class="text-muted">IN [kB/s] / OUT [kB/s]</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="row text-center placeholders">
|
||||
<div class="col">
|
||||
@@ -31,6 +47,7 @@
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('4320','solcap_monitor')">6Mo</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('8640','solcap_monitor')">Year</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="setForth('solcap_monitor')">>></button>
|
||||
<h6><span id="graph_timestamp">{timestamp}</span> UTC</h6>
|
||||
</div>
|
||||
</section>
|
||||
<section class="row text-center placeholders">
|
||||
@@ -47,8 +64,39 @@
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('4320','cpumem_monitor')">6Mo</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('8640','cpumem_monitor')">Year</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="setForth('cpumem_monitor')">>></button>
|
||||
<h6><span id="graph_timestamp">{timestamp}</span> UTC</h6>
|
||||
</div>
|
||||
<script type="text/javascript" src="../static/js/solcap_graph.js"></script>
|
||||
</section>
|
||||
<section class="row text-center placeholders">
|
||||
<div class="col">
|
||||
<div id="network_labels"></div>
|
||||
<div id="network" class="container-fluid" style="width:100%;height:200px;"></div>
|
||||
<button type="button" class="btn btn-secondary" onclick="setBack('network_monitor')"><<</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('1','network_monitor')">1h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('6','network_monitor')">6h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('12','network_monitor')">12h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('24','network_monitor')">24h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('168','network_monitor')">Week</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('720','network_monitor')">Month</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('4320','network_monitor')">6Mo</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('8640','network_monitor')">Year</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="setForth('network_monitor')">>></button>
|
||||
<h6><span id="graph_timestamp">{timestamp}</span> UTC</h6>
|
||||
</div>
|
||||
</section>
|
||||
<section class="row text-center placeholders">
|
||||
<div class="col">
|
||||
<div id="esp_battery_labels"></div>
|
||||
<div id="esp_battery" class="container-fluid" style="width:100%;height:200px;"></div>
|
||||
<button type="button" class="btn btn-secondary" onclick="setBack('esp_battery_monitor')"><<</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('168','esp_battery_monitor')">Week</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('720','esp_battery_monitor')">Month</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('4320','esp_battery_monitor')">6Mo</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('8640','esp_battery_monitor')">Year</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="setForth('esp_battery_monitor')">>></button>
|
||||
<h6><span id="graph_timestamp">{timestamp}</span> UTC</h6>
|
||||
</div>
|
||||
<script type="text/javascript" src="../static/js/status_graph.js"></script>
|
||||
</section>
|
||||
</main>
|
||||
<div class="col"></div>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<button class="navbar-toggler navbar-toggler-right hidden-lg-up" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="#">Monitoring</a>
|
||||
<a class="navbar-brand" href="https://bastart.spoton.cz">Monitoring</a>
|
||||
|
||||
<div class="collapse navbar-collapse" id="navbarsExampleDefault">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
@@ -15,6 +15,9 @@
|
||||
<li class="nav-item {status}">
|
||||
<a class="nav-link" href="https://bastart.spoton.cz/status">Status</a>
|
||||
</li>
|
||||
<li class="nav-item {temphumi}">
|
||||
<a class="nav-link" href="https://bastart.spoton.cz/temphumi">Temp / Humidity</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
@@ -4,31 +4,26 @@
|
||||
<div class="col"></div>
|
||||
<main class="pt-4 col-10">
|
||||
<h1>Energy Dashboard</h1>
|
||||
|
||||
<h5><span id="timestamp">{timestamp}</span> UTC</h5>
|
||||
<section class="row text-center placeholders">
|
||||
<div class="col placeholder">
|
||||
<img src="{array_voltage_icon}" width="20" class="img-fluid" alt="Battery voltage">
|
||||
<h3>{array_voltage} [V]</h3>
|
||||
<div class="text-muted">{array_percent} [%]</div>
|
||||
<h3><span id="array_voltage">{array_voltage}</span> [V]</h3>
|
||||
<div class="text-muted"><span id="array_percent">{array_percent}</span> [%]</div>
|
||||
</div>
|
||||
<div class="col placeholder">
|
||||
<img src="../static/img/battery_current.png" width="20" class="img-fluid" alt="Battery current">
|
||||
<h3>{charge_current}</h3>
|
||||
<img src="{charge_current_icon}" width="20" class="img-fluid" alt="Battery current">
|
||||
<h3><span id="charge_current">{charge_current}</span></h3>
|
||||
<div class="text-muted">Charging [A]</div>
|
||||
</div>
|
||||
<div class="col placeholder">
|
||||
<img src="../static/img/solar_power.png" width="20" class="img-fluid" alt="Solar array power">
|
||||
<h3>{solar_power}</h3>
|
||||
<img src="{solar_power_icon}" width="40" class="img-fluid" alt="Solar array power">
|
||||
<h3><span id=solar_power>{solar_power}</span></h3>
|
||||
<span class="text-muted"> Solar PV [W]</span>
|
||||
</div>
|
||||
<div class="col placeholder">
|
||||
<img src="../static/img/solar_voltage.png" width="20" class="img-fluid" alt="Solar array voltage">
|
||||
<h3>{voltage_solar}</h3>
|
||||
<div class="text-muted">Solar [V]</div>
|
||||
</div>
|
||||
<div class="col placeholder">
|
||||
<img src="../static/img/pmax_day.png" width="20" class="img-fluid" alt="Max power / day">
|
||||
<h3>{pmax_day}</h3>
|
||||
<img src="{solar_power_icon}" width="40" class="img-fluid" alt="Max power / day">
|
||||
<h3><span id=pmax_day>{pmax_day}</span></h3>
|
||||
<div class="text-muted">Pmax / day [W]</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -45,19 +40,15 @@
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('24')">24h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('168')">Week</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('720')">Month</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('8760')">Year</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="setForth()">>></button>
|
||||
<h6><span id="graph_timestamp">{timestamp}</span> UTC</h6>
|
||||
</div>
|
||||
<div id="xxx"></div>
|
||||
</section>
|
||||
|
||||
<div class="table-responisve">
|
||||
<h2>Historical values by day</h2>
|
||||
{history_table}
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
{stats_table}
|
||||
{fresh_table}
|
||||
|
||||
</div>
|
||||
</main>
|
||||
<div class="col"></div>
|
||||
|
||||
@@ -4,40 +4,50 @@
|
||||
<div class="col"></div>
|
||||
<main class="pt-4 col-10">
|
||||
<h1>Weather Dashboard</h1>
|
||||
<h5>{timestamp} UTC</h5>
|
||||
<h5><span id="timestamp">{_timestamp}</span> UTC</h5>
|
||||
|
||||
<section class="row text-center placeholders">
|
||||
<div class="col-md-4 placeholder col-sm-6">
|
||||
<img src="{w_speed_icon}" width="50" class="img-fluid" alt="Wind Speed">
|
||||
<h4>{w_speed_km} [km/h]</h4>
|
||||
<div class="text-muted">{w_speed_ms} [m/s]</div>
|
||||
<img src="{_w_speed_icon}" width="50" class="img-fluid" alt="Wind Speed">
|
||||
<h4><span id="w_speed_km">{_w_speed_km}</span> [km/h]</h4>
|
||||
<div class="text-muted">
|
||||
<span id="w_speed_ms">{_w_speed_ms}</span> [m/s]
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 placeholder col-sm-6">
|
||||
<img src="{w_gust_icon}" width="50" class="img-fluid" alt="Wind Gusts">
|
||||
<h4>{w_gust_km} [km/h]</h4>
|
||||
<div class="text-muted">{w_gust_ms} [m/s]</div>
|
||||
<img src="{_w_gust_icon}" width="50" class="img-fluid" alt="Wind Gusts">
|
||||
<h4><span id="w_gust_km">{_w_gust_km} [km/h]</h4>
|
||||
<div class="text-muted">
|
||||
<span id="w_gust_ms">{_w_gust_ms}</span> [m/s]
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 placeholder col-sm-6">
|
||||
<img src="{w_dir_icon}" width="50" class="img-fluid" alt="Wind Direction">
|
||||
<h4>{w_dir_name}</h4>
|
||||
<div class="text-muted">{w_dir_deg} °</div>
|
||||
<img src="{_w_dir_icon}" width="50" class="img-fluid" alt="Wind Direction">
|
||||
<h4><span id="w_dir_name">{_w_dir_name}</h4>
|
||||
<div class="text-muted"><span id="w_dir">{_w_dir_deg}</span> °</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="row text-center placeholders">
|
||||
<div class="col-md-4 placeholder col-sm-6">
|
||||
<img src="{out_temp_icon}" width="50" class="img-fluid" alt="Outside Temperature">
|
||||
<h4>{out_temp} °C</h4>
|
||||
<div class="col-md-3 placeholder col-sm-6">
|
||||
<img src="{_out_temp_icon}" width="30" class="img-fluid" alt="Outside Temperature">
|
||||
<h4><span id="out_temp">{_out_temp}</span> °C</h4>
|
||||
<div class="text-muted">[Outside]</div>
|
||||
</div>
|
||||
<div class="col-md-4 placeholder col-sm-6">
|
||||
<img src="{in_temp_icon}" width="50" class="img-fluid" alt="Inside Temperature">
|
||||
<h4>{in_temp} °C</h4>
|
||||
<div class="col-md-3 placeholder col-sm-6">
|
||||
<img src="{_in_temp_icon}" width="30" class="img-fluid" alt="Inside Temperature">
|
||||
<h4><span id="in_temp">{_in_temp}</span> °C</h4>
|
||||
<div class="text-muted">[Inside]</div>
|
||||
</div>
|
||||
<div class="col-md-4 placeholder col-sm-6">
|
||||
<img src="{pressure_icon}" width="50" class="img-fluid" alt="Atmospheric pressure">
|
||||
<h4>{pressure} [hPa]</h4>
|
||||
<div class="text-muted">{raw_pressure} [hPa] raw</div>
|
||||
<div class="col-md-3 placeholder col-sm-6">
|
||||
<img src="{_pressure_icon}" width="30" class="img-fluid" alt="Atmospheric pressure">
|
||||
<h4><span id="current_pressure">{_pressure}</span> [hPa]</h4>
|
||||
<div class="text-muted">{_raw_pressure} [hPa] raw</div>
|
||||
</div>
|
||||
<div class="col-md-3 placeholder col-sm-6">
|
||||
<img src="{_rrate_icon}" width="30" class="img-fluid" alt="Rain rate">
|
||||
<h4><span id="current_rrate">{_rrate}</span></h4>
|
||||
<div class="text-muted">[mm/h]</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -56,6 +66,7 @@
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('4320','wind_monitor')">6Mo</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('8640','wind_monitor')">Year</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="setForth('wind_monitor')">>></button>
|
||||
<h6><span id="g_tstamp_wind_monitor">{_timestamp}</span> UTC</h6>
|
||||
</div></div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -74,6 +85,7 @@
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('4320','temphumi_monitor')">6Mo</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('8640','temphumi_monitor')">Year</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="setForth('temphumi_monitor')">>></button>
|
||||
<h6><span id="g_tstamp_temphumi_monitor">{_timestamp}</span> UTC</h6>
|
||||
</div>
|
||||
</section>
|
||||
<section class="row text-center placeholders">
|
||||
@@ -88,6 +100,22 @@
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('4320','pressure_monitor')">6Mo</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('8640','pressure_monitor')">Year</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="setForth('pressure_monitor')">>></button>
|
||||
<h6><span id="g_tstamp_pressure_monitor">{_timestamp}</span> UTC</h6>
|
||||
</div>
|
||||
</section>
|
||||
<section class="row text-center placeholders">
|
||||
<div class="col">
|
||||
<div id="rrate_labels"></div>
|
||||
<div id="rrate" class="container-fluid" style="width:100%;height:200px;"></div>
|
||||
<button type="button" class="btn btn-secondary" onclick="setBack('rrate_monitor')"><<</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('12','rrate_monitor')">12h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('24','rrate_monitor')">24h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('168','rrate_monitor')">Week</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('720','rrate_monitor')">Month</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('4320','rrate_monitor')">6Mo</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('8640','rrate_monitor')">Year</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="setForth('rrate_monitor')">>></button>
|
||||
<h6><span id="g_tstamp_rrate_monitor">{_timestamp}</span> UTC</h6>
|
||||
</div>
|
||||
<script type="text/javascript" src="../static/js/weather_graph.js"></script>
|
||||
</section>
|
||||
|
||||
@@ -1,280 +0,0 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
|
||||
<!--
|
||||
--------------------------- Nahodou menu na levo -----------------------
|
||||
--
|
||||
<nav class="col-sm-3 col-md-2 hidden-xs-down bg-faded sidebar">
|
||||
<ul class="nav nav-pills flex-column">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" href="#">Overview <span class="sr-only">(current)</span></a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Reports</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Analytics</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Export</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="nav nav-pills flex-column">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Nav item</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Nav item again</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">One more nav</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Another nav item</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="nav nav-pills flex-column">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Nav item again</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">One more nav</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#">Another nav item</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
-->
|
||||
<div class="col"></div>
|
||||
<main class="pt-4 col-10">
|
||||
<h1>Weather Dashboard</h1>
|
||||
<h5>{timestamp}</h5>
|
||||
|
||||
<section class="row text-center placeholders">
|
||||
<div class="col-md-4 placeholder col-sm-6">
|
||||
<img src="{w_speed_icon}" width="50" class="img-fluid" alt="Wind Speed">
|
||||
<h4>{w_speed_km} [km/h]</h4>
|
||||
<div class="text-muted">{w_speed_ms} [m/s]</div>
|
||||
</div>
|
||||
<div class="col-md-4 placeholder col-sm-6">
|
||||
<img src="{w_gust_icon}" width="50" class="img-fluid" alt="Wind Gusts">
|
||||
<h4>{w_gust_km} [km/h]</h4>
|
||||
<div class="text-muted">{w_gust_ms} [m/s]</div>
|
||||
</div>
|
||||
<div class="col-md-4 placeholder col-sm-6">
|
||||
<img src="{w_dir_icon}" width="50" class="img-fluid" alt="Wind Direction">
|
||||
<h4>{w_dir_name}</h4>
|
||||
<div class="text-muted">{w_dir_deg} °</div>
|
||||
</section>
|
||||
|
||||
<section class="row text-center placeholders">
|
||||
<div class="col-md-4 placeholder col-sm-6">
|
||||
<img src="{out_temp_icon}" width="50" class="img-fluid" alt="Outside Temperature">
|
||||
<h4>{out_temp} °C</h4>
|
||||
<div class="text-muted">[Outside]</div>
|
||||
</div>
|
||||
<div class="col-md-4 placeholder col-sm-6">
|
||||
<img src="{in_temp_icon}" width="50" class="img-fluid" alt="Inside Temperature">
|
||||
<h4>{in_temp} °C</h4>
|
||||
<div class="text-muted">[Inside]</div>
|
||||
</div>
|
||||
<div class="col-md-4 placeholder col-sm-6">
|
||||
<img src="{pressure_icon}" width="50" class="img-fluid" alt="Atmospheric pressure">
|
||||
<h4>{pressure} [hPa] Adjusted</h4>
|
||||
<div class="text-muted">{raw_pressure} [hPa] Actual</div>
|
||||
</section>
|
||||
|
||||
<section class="row text-center placeholders">
|
||||
<div class="col">
|
||||
<h2>Wind speed and direction</h2>
|
||||
<div id="wind_labels"></div>
|
||||
<div id="wind" class="container-fluid" style="width:100%;height:200px;"></div>
|
||||
<div class="row"><div class="col py-5">
|
||||
<button type="button" class="btn btn-secondary" onclick="setBack('wind_monitor')"><<</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('1','wind_monitor')">1h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('6','wind_monitor')">6h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('12','wind_monitor')">12h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('24','wind_monitor')">24h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('168','wind_monitor')">Week</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('5040','wind_monitor')">Month</button>
|
||||
<button type="button" class="btn btn-secondary" onclick="setForth('wind_monitor')">>></button>
|
||||
</div></div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="row text-center placeholders">
|
||||
<div class="col">
|
||||
<h2>Temperature and Humidity</h2>
|
||||
<div id="temphumi_labels"></div><div id="temphumi_labels_in"></div>
|
||||
<div id="temphumi" class="container-fluid" style="width:100%;height:200px;"></div>
|
||||
<div id="temphumi_in" class="container-fluid" style="width:100%;height:200px;"></div>
|
||||
<button type="button" class="btn btn-secondary" onclick="setBack('temphumi_monitor')"><<</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('1','temphumi_monitor')">1h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('6','temphumi_monitor')">6h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('12','temphumi_monitor')">12h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('24','temphumi_monitor')">24h</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('168','temphumi_monitor')">Week</button>
|
||||
<button type="button" class="btn btn-secondary btn-sm" onclick="setHours('5040','temphumi_monitor')">Month</button>
|
||||
<<<<<<< HEAD
|
||||
<button type="button" class="btn btn-secondary" onclick="setForth('temphumi_monitor');">>></button>
|
||||
=======
|
||||
<button type="button" class="btn btn-secondary" onclick="setForth('temphumi_monitor')">>></button>
|
||||
>>>>>>> ca62f04757f1010262e5559bbd8753bfa49bf34e
|
||||
</div>
|
||||
</section>
|
||||
<section class="row text-center placeholders">
|
||||
<div class="col">
|
||||
<div id="pressure_labels"></div>
|
||||
<div id="pressure" class="container-fluid" style="width:100%;"></div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../static/js/weather_graph.js"></script>
|
||||
</section>
|
||||
|
||||
</main>
|
||||
<div class="col" id="xxx"></div>
|
||||
|
||||
<!--
|
||||
<h2>Section title</h2>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Header</th>
|
||||
<th>Header</th>
|
||||
<th>Header</th>
|
||||
<th>Header</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1,001</td>
|
||||
<td>Lorem</td>
|
||||
<td>ipsum</td>
|
||||
<td>dolor</td>
|
||||
<td>sit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,002</td>
|
||||
<td>amet</td>
|
||||
<td>consectetur</td>
|
||||
<td>adipiscing</td>
|
||||
<td>elit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,003</td>
|
||||
<td>Integer</td>
|
||||
<td>nec</td>
|
||||
<td>odio</td>
|
||||
<td>Praesent</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,003</td>
|
||||
<td>libero</td>
|
||||
<td>Sed</td>
|
||||
<td>cursus</td>
|
||||
<td>ante</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,004</td>
|
||||
<td>dapibus</td>
|
||||
<td>diam</td>
|
||||
<td>Sed</td>
|
||||
<td>nisi</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,005</td>
|
||||
<td>Nulla</td>
|
||||
<td>quis</td>
|
||||
<td>sem</td>
|
||||
<td>at</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,006</td>
|
||||
<td>nibh</td>
|
||||
<td>elementum</td>
|
||||
<td>imperdiet</td>
|
||||
<td>Duis</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,007</td>
|
||||
<td>sagittis</td>
|
||||
<td>ipsum</td>
|
||||
<td>Praesent</td>
|
||||
<td>mauris</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,008</td>
|
||||
<td>Fusce</td>
|
||||
<td>nec</td>
|
||||
<td>tellus</td>
|
||||
<td>sed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,009</td>
|
||||
<td>augue</td>
|
||||
<td>semper</td>
|
||||
<td>porta</td>
|
||||
<td>Mauris</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,010</td>
|
||||
<td>massa</td>
|
||||
<td>Vestibulum</td>
|
||||
<td>lacinia</td>
|
||||
<td>arcu</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,011</td>
|
||||
<td>eget</td>
|
||||
<td>nulla</td>
|
||||
<td>Class</td>
|
||||
<td>aptent</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,012</td>
|
||||
<td>taciti</td>
|
||||
<td>sociosqu</td>
|
||||
<td>ad</td>
|
||||
<td>litora</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,013</td>
|
||||
<td>torquent</td>
|
||||
<td>per</td>
|
||||
<td>conubia</td>
|
||||
<td>nostra</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,014</td>
|
||||
<td>per</td>
|
||||
<td>inceptos</td>
|
||||
<td>himenaeos</td>
|
||||
<td>Curabitur</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>1,015</td>
|
||||
<td>sodales</td>
|
||||
<td>ligula</td>
|
||||
<td>in</td>
|
||||
<td>libero</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bootstrap core JavaScript
|
||||
================================================== -->
|
||||
<!-- Placed at the end of the document so the pages load faster -->
|
||||
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
|
||||
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
|
||||
<script src="../static/js/bootstrap.min.js"></script>
|
||||
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
|
||||
<script src="../static/js/ie10bugfix.js"></script>
|
||||
Reference in New Issue
Block a user