cummulative changes

This commit is contained in:
d-popov
2020-06-09 00:38:35 +03:00
parent 8a68a07112
commit 6a8a895f69
5 changed files with 211 additions and 83 deletions

View File

@@ -1,13 +1,15 @@
<div id="chartContainer" style="height: 370px; width: 100%;"></div>
<div id="now" class="form-text">getting inside conditions...</div>
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<%- contentFor('head') %>
<script>
var current;
window.onload = function () {
var temp = {in:[], out:[]};
var hum = {in:[], out:[],outSoil:[]};
var press = {out:[]};
var temp = { in: [], out: [], outDew:[] };
var hum = { in: [], out: [], outSoil: []};
var press = { out: [] };
var time = [];
/*{ x: new Date(2017, 0, 3), y: 650 },
{ x: new Date(2017, 0, 4), y: 700 },
*/
@@ -49,14 +51,20 @@
titleFontColor: "#C24642",
labelFontColor: "#C24642",
suffix: " °C",
minimum: -10,
// maximum: 40,
} , {
crosshair: {
enabled: true
},
//minimum: -10,
// maximum: 40,
}, {
title: "ATM Pressure",
lineColor: "#A477C6",
titleFontColor: "#A477C6",
labelFontColor: "#A477C6",
suffix: "hPa",
suffix: " hPa",
crosshair: {
enabled: true
},
minimum: 990,
//maximum: 1080,
},
@@ -68,7 +76,10 @@
labelFontColor: "#51CDA0",
minimum: 0,
maximum: 100,
suffix: "%",
suffix: " %",
crosshair: {
enabled: true
},
}
],
data: [{
@@ -79,14 +90,22 @@
xValueFormatString: "HH:mm on DD MMM, YYYY",
color: "#F08080",
dataPoints: temp.out
},
},
/*{
name: "Dew Point",
type: "line",//line
showInLegend: true,
markerType: "none",
color: "#94D8F6",
dataPoints: temp.outDew
},*/
{
name: "In Temperature",
type: "line",//line
showInLegend: true,
//markerType: "square",
//xValueFormatString: "HH:mm on DD MMM, YYYY",
markerType: "none",
color: "#92D050",
lineThickness: 4,
dataPoints: temp.in
},
{
@@ -101,20 +120,21 @@
//----- sright axies -----
{
name: "Air RH",
axisYType: "secondary",//at right
axisYType: "secondary", //at right
//axisYIndex: 1,
type: "spline",
showInLegend: true,
lineDashType: "dash",
//lineDashType: "dash",
dataPoints: hum.out
},
{
{
name: "Soil RH",
axisYType: "secondary",
axisYIndex: 1,
type: "spline",
type: "line",
lineThickness: 4,
showInLegend: true,
lineDashType: "dash",
//lineDashType: "dash",
color: "#99D9EA",
dataPoints: hum.outSoil
}]
@@ -134,19 +154,20 @@
for (var i = 0; i < data.length; i++) {
var date = new Date(data[i]["timestamp"]);
if (data[i].field_name == "A23_Garden_dht") {
time.push(date);
var dht = JSON.parse(data[i].field_value);
hum.out.push({ x: date, y: parseFloat(dht.Hum) });
temp.out.push({ x: date, y: parseFloat(dht.Temp) });
press.out.push({ x: date, y: parseFloat(dht.Pres)});
temp.outDew.push({ x: date, y: parseFloat(dht.Temp) - ((parseFloat(dht.Hum))/5) });
press.out.push({ x: date, y: parseFloat(dht.Pres) });
if (dht.Soil) {
hum.outSoil.push({ x: date, y: parseFloat(dht.Soil) });
hum.outSoil.push({ x: date, y: parseFloat(dht.Soil) });
}
}
var date = new Date(data[i]["timestamp"]);
if(data[i].field_name == "A23_DHT"){
//console.log("Got DHT:" + date);
if (data[i].field_name == "A23_DHT") {
time.push(date);
var dht = JSON.parse(data[i].field_value).dht;
if(dht && dht.hum <= 100){
if (dht && dht.hum <= 100) {
hum.in.push({
x: date,
y: dht.hum
@@ -160,21 +181,28 @@
}
chart.render();
/*
$.getJSON("/n/dht?e=now", function(data){
if(data && data.dht){
chart.title.set("text", "Currently " + data.temp + "°C, " + data.hum +"% RH, ATM:" + data.press + "hPa");
}else {
chart.title.set("text", "Weather conditions");
}
});
*/
if (temp.out.length > 0 && hum.out.length > 0 && press.out.length > 0 && time.length > 0) {
//setTimeout(function(){
chart.title.set("text", "Out: " + temp.out[temp.out.length-1].y + "°C, "
+ hum.out[hum.out.length-1].y + "% RH, "
+ press.out[press.out.length-1].y + " hPa ("
+ time[time.length-1].toLocaleString() + ")");
//},5000);
}
chart.render();
}
$.getJSON("/n/device/A23_DHT/1", addData);
$.getJSON("/n/device/A23_Garden_dht/1", addData);
$.getJSON("/n/device/A23_DHT/7", addData);
$.getJSON("/n/device/A23_Garden_dht/7", addData);
setTimeout(function(){
$.getJSON("/n/dht?e=now", function(data){
if(data && data.dht){
$("#now").text("In A23 currently is " + data.dht.temp + "°C, " + data.dht.hum +"% RH" );
}else {
$("#now").text("failed to get inside conditions" );
}
});
},5000);
}
</script>