Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <style>
- </style>
- <body>
- <div>
- <h1>Liittymän teho: <span id="kulutus"></span> kW, <span id="kulutus_euroa"></span></h1>
- <span id="tiedot"></span><br />
- <span id="2AikaMittaus"></span><br />
- Kuuman veden osuus tänään: <span style="color: red;" id="kuuman_veden_laskelma"></span><br />
- <span id="kulutusajakauma"></span><br />
- <span id="ilp"></span>
- <br />
- <!-- <p>Siirtohinta: <input type="text" name="siirto" value="4.31" /><br />
- Huomioi siirto hinnoissa: <input type="checkbox" name="huomioi_siirto" checked /></p> -->
- <svg id="kulutus_bars" width='400' height='100' style="border: 1px solid black;" ></svg>
- <div style="float: right;">
- <div id="varaajain_tila" style="border: 1px solid black; margin: 10px; padding: 10px;">
- <h3>Varaajain tila:</h3>
- <div style="padding-top: 1px;">
- <button onclick="pakota_varaaja_paalle()">Pakota varaaja päälle</button><br />
- <span id="varaajan_lataus"></span><br />
- </div>
- <canvas id="varaajan_tila" width="200" height="30" style="border:1px solid #d3d3d3; "><br />
- </div>
- <div style="border: 1px solid black;margin-right: 5%;">
- <span style="text-decoration: underline;">Ajonaikaisia tietoja</span><br /><br />
- <span id="saikeita"></span><br />
- <span id="lahetetty"></span><br />
- <span id="pulsseja"></span><br />
- <span id="nordpool"></span><br />
- <span id="nordpoolaccess"></span>
- <span id="pvm"></span><br />
- <span id="paikalla"></span><br />
- <span id="pyyntoja"></span><br />
- <span id="restartTimes"></span><br />
- <a href="./debug">DEBUG</a>
- </div>
- <div id="vesimittari" style="float: right; border: 1px solid blue; margin-top: 20px; margin-right: 5%; width: 300px; padding: 30px; padding-top: 5px;">
- <h3 style="padding-top: 5px;">Veden kulutus</h3>
- <span style="color: blue;" id="kylmavesi"></span><br />
- <span style="color: red;" id="kuumavesi"></span><br />
- <span id="lammitysteho"></span><br />
- <span style="color: green;" id="saasto"></span><br />
- <span id="paluulampo"></span><br /><br />
- <!-- <span style="color: magenta; text-decoration: underline;">Kuuman veden arvo:</span> -->
- <span id="kuuman_veden_laskelma"></span><br />
- <span>Veden arvo osuuskunnalta ostettuna: </span>
- <span id="veden_arvo"></span>
- <h3>Veden kulutus päivittäin</h3>
- <span id="vesi_paivittain"></span>
- </div>
- </div>
- </div>
- <div>
- <h3 style="text-align: center;">Logi</h3>
- <textarea rows="10" cols="10" id="lastlog" style="width: 60%; height: 100px;"></textarea>
- </div>
- <div>
- <h1>Lämmöt</h1>
- <br />
- <div id="lammot" style="width:600px; height: 250px; border: 1px solid black;"></div>
- <h1>Sänkön hinta</h1>
- <div id="myPlot" style="width:100%;max-width:600px; height: 400px; border: 1px solid black;"></div>
- <h1>ILP kulutus</h1>
- <div id="ILP" style="width:100%;max-width:600px; height: 400px; border: 1px solid black;"></div>
- <h1>Veden kulutus</h1>
- <div id="vesi" style="width:100%;max-width:600px; height: 400px; border: 1px solid black;"></div>
- </div>
- <script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
- </body>
- </html>
- <script>
- function pakota_varaaja_paalle() {
- fetch("/pakota_varaaja_paalle");
- }
- function varaaja_canvas(lataus) {
- // console.log("Varaajan lataus:" + lataus);
- var c = document.getElementById("varaajan_tila");
- var ctx = c.getContext("2d");
- var grd = ctx.createLinearGradient(0, 0, 200, 0);
- grd.addColorStop(0, "blue");
- grd.addColorStop(1, "red");
- // Fill with gradient
- ctx.fillStyle = grd;
- ctx.fillRect(0, 0, 200 * lataus, 20);
- }
- function viivasto_y (tiheys, max_y, max_x, style = "stroke:black;stroke-width:1 px") {
- let output = "", i, y_pointer = 0 / tiheys, x_offset = 0, x = 0 ;
- for (i = 0; i < tiheys; i++) {
- output += `<line x1="${x_offset}" y1="${y_pointer + (max_y / tiheys)}" x2="${max_x}" y2="${y_pointer + (max_y / tiheys)}" style="${style}" />` + "\n";
- y_pointer += max_y / tiheys;
- }
- //console.log(output);
- return output;
- }
- function viivasto_y (tiheys, max_x, max_y, style = "stroke:black;stroke-width:1 px") {
- let output = "", i, y_pointer = 0 / tiheys, x_offset = 0, x = 0 ;
- for (i = 0; i < tiheys; i++) {
- output += `<line x1="${x_offset}" y1="${y_pointer + (max_y / tiheys)}" x2="${max_x}" y2="${y_pointer + (max_y / tiheys)}" style="${style}" />` + "\n";
- y_pointer += max_y / tiheys;
- }
- //console.log(output);
- return output;
- }
- function arvo_luvut(montako) {
- const a = [];
- for (let i = 0; i < montako; i++) {
- a[i] = Math.floor(Math.random() * 100);
- //console.log(Math.floor(Math.random() * 100));
- }
- console.log(a);
- return a;
- }
- function generate_points(values, max_y = 600, max_x = 600) {
- //let values = [20,20,50,30,30,20];
- let minmax = get_minMax(values);
- let output = "", i, x_step = Math.trunc(max_x / values.length), y_step = max_y / minmax[1], x_pointer = 0, y_ax = 0;
- //console.log("x-step values : " + values + max_y, max_x);
- //console.log("pituus: " + values.length);
- //console.log(get_minMax(values));
- for (i = 0; i < values.length; i++) {
- //console.log(values[i]);
- y_ax = max_y - Math.trunc(values[i] * y_step);
- output += x_pointer + "," + y_ax + " ";
- x_pointer += x_step;
- //console.log("x-step : " + x_step);
- //console.log("x-pointer : " + x_pointer);
- //console.log("y-ax : " + y_ax);
- //console.log("output : " + output);
- }
- output = output.substr(0, output.length);
- //console.log("generate points : " + output);
- return output;
- }
- function sum_element(a) {
- let s = 0;
- for (i = 0; i < a.length; i++) {
- s += a[i];
- }
- return s;
- }
- function generate_bars (values, x_max, y_max, style = `style="fill:green;fill-opacity:0.4;stroke:green;stroke-width:1"`, x_margin, y_margin) {
- let output = "", i, x_pointer = x_margin, x_step = 0, y_fact, vaihtelu = 0;
- let minmax = get_minMax(values);
- x_step = (x_max / values.length) - 3 ;
- y_fact = ( (y_max - y_margin) / minmax[1]);
- y_line = ( y_max * 0.4) ;
- output += `<line x1="0" y1="${y_line}" x2="${x_max}" y2="${y_line}" style="stroke:black" />\n`;
- for (i = 1; i < values.length; i++) {
- output += `<rect width="${x_step }" height="${ ((values[i]) * (y_fact))}" x="${x_pointer}", y="${y_max - (values[i] * y_fact)}" ${style} />` + "\n";
- x_pointer = x_pointer + x_step + 3;
- }
- return output;
- }
- function precise(x, m = 3) {
- return x.toPrecision(m);
- }
- function get_minMax(arr) {
- const min = Math.min(...arr);
- const max = Math.max(...arr);
- const index_min = arr.indexOf(min);
- const index_max = arr.indexOf(max);
- return [arr[index_min], arr[index_max], (arr[index_max] - arr[index_min]) ];
- }
- function ulosta(id, txt) {
- document.getElementById(id).innerHTML = txt;
- }
- let sahkovero = 0.0279372;
- let energiahinta = 0.221;
- var source = new EventSource("/livestream");
- const realTimeMonitorLog = [];
- const lastlogLammot = {'imu': [], 'puhallus': [], 'ottoteho': [], 'ottoteho_avg': [], 'lammitysteho' : []};
- const lastLog = [];
- const hinnat = {'paiva' : {'energia' : 0.2210, 'siirto' : 0.0408}, 'yo' : {'energia' : 0.1490, 'siirto' : 0.0267}, 'sahkovero' : 0.0279372, 'yksAikaHinta' : 0.1990};
- const d = new Date();
- var laskuri = 0;
- var kokonaishinta_paiva = hinnat['paiva']['siirto'] + hinnat['paiva']['energia'] + hinnat['sahkovero'];
- var kokonaishinta_yo = hinnat['yo']['siirto'] + hinnat['yo']['energia'] + hinnat['sahkovero'];
- var kokonaishinta_yksAika = hinnat['paiva']['siirto'] + hinnat['yksAikaHinta'] + hinnat['sahkovero'];
- var energian_hinta_nyt, paivaVaiYo, paivaVaiYo_color;
- source.onmessage = function(event) {
- const obj = JSON.parse(event.data);
- //console.log(obj['lastLogs']);
- let output;
- realTimeMonitorLog.push((obj['realTimeMonitorLog']));
- lastlogLammot['imu'].push(obj['parvi']);
- lastlogLammot['puhallus'].push(obj['sisa_puhallus']);
- lastlogLammot['ottoteho'].push(obj['ilp_teho'] * 1000);
- //lastlogLammot['lammitysteho'].push((((obj['sisa_puhallus'] - obj['parvi']) * 800 * 1.25) / 3600).toFixed(2));
- laskuri++;
- if (laskuri == 60) {
- lastlogLammot['ottoteho_avg'].push(lastlogLammot['ottoteho'].reduce((a,c) => a + c, 0) / lastlogLammot['ottoteho'].length);
- laskuri = 0;
- }
- let COP = ((((obj['sisa_puhallus'] - obj['parvi']) * 800 * 1.25) / 3600).toFixed(2) / ((lastlogLammot['ottoteho'].reduce((a,c) => a + c, 0) / lastlogLammot['ottoteho'].length) / 1000)).toFixed(2);
- console.log(lastlogLammot);
- if (d.getHours() < 7 || d.getHours() >= 22) {
- energian_hinta_nyt = kokonaishinta_yo;
- paivaVaiYo = "yötunnilta";
- paivaVaiYo_color = 'blue';
- }
- if (d.getHours() >= 7 && d.getHours() < 22) {
- energian_hinta_nyt = kokonaishinta_paiva;
- paivaVaiYo = "päivätunnilta";
- paivaVaiYo_color = 'OrangeRed';
- }
- //const numbers = [3,4,5,2,4,6,78,53,2,1,2];
- //const sum = numbers.reduce((a,c) => a + c, 0);
- //const avg = sum / numbers.length;
- if (lastlogLammot['imu'].length > 300) {
- lastlogLammot['imu'].shift();
- }
- if (lastlogLammot['puhallus'].length > 300) {
- lastlogLammot['puhallus'].shift();
- }
- if (lastlogLammot['ottoteho'].length > 60) {
- lastlogLammot['ottoteho'].shift();
- }
- if (lastlogLammot['ottoteho_avg'].length > 10) {
- lastlogLammot['ottoteho_avg'].shift();
- }
- if (lastlogLammot['lammitysteho'].length > 60) {
- lastlogLammot['lammitysteho'].shift();
- }
- if (realTimeMonitorLog.length > 100) {
- realTimeMonitorLog.shift();
- }
- if (obj['lastLogs'] != 0) {
- lastLog.unshift(obj['lastLogs']);
- }
- if (lastLog.length > 7000) {
- lastLog.pop();
- }
- const someCheckbox = document.getElementById('siirto');
- document.getElementById("kulutus").innerHTML = precise(obj['realTimeMonitorLog']);
- document.getElementById("kulutus_euroa").innerHTML = (obj['realTimeMonitorLog'] * energian_hinta_nyt).toFixed(2) + " eur/h, == " + (obj['realTimeMonitorLog'] * energian_hinta_nyt * 24).toFixed(2) + " eur/päivä";
- ulosta('kulutusajakauma', "<span style='color: OrangeRed;'>Päivätunnit: <b>" + (obj['pulssit_paiva'] / 10000).toFixed(1) + "</b> kWh, <b>" + ((obj['pulssit_paiva'] / 10000) * kokonaishinta_paiva).toFixed(2) + "</b> EUR</span>, <span style='color: blue;'>Yötunnit: <b>" + (obj['pulssit_yo'] / 10000).toFixed(1) + "</b> kWh, <b>" + ((obj['pulssit_yo'] / 10000) * kokonaishinta_yo).toFixed(2) + "</b> EUR, </span><span style='color: magenta;'>== <b>" + ((obj['pulssit_paiva'] / 10000) + (obj['pulssit_yo'] / 10000) + (obj['piirturi_pulssit'] / 10000)).toFixed(1) + "</b> kWh (<b>" + (((obj['pulssit_paiva'] / 10000) * kokonaishinta_paiva) + ((obj['pulssit_yo'] / 10000) * kokonaishinta_yo)).toFixed(2) + "</b> EUR </span>" +
- ",<br /><span style='color: " + paivaVaiYo_color + "'>Kuluvalta " + paivaVaiYo + ": <b>" + (obj['piirturi_pulssit'] / 10000).toFixed(3) + "</b> kWh, <b>" + ((obj['piirturi_pulssit'] / 10000) * energian_hinta_nyt).toFixed(2) + "</b> EUR</span>, hinta 1-aikamittauksella: <b>" + ((obj['pulsseja_laskettu'] / 10000) * (kokonaishinta_yksAika)).toFixed(2) + "</b> EUR");
- // Puhallusteho m3/h 800/720/570/620/560/500/450
- ulosta('ilp', "ILP kokonaiskulutus: <b>" + (obj['ilp_count'] / 1000).toFixed(3) + "</b> kWh<br /> " + "Ottoteho: <b>" + (obj['ilp_teho'] * 1000).toFixed(1) + "</b>" + " W / <b>" + (lastlogLammot['ottoteho'].reduce((a,c) => a + c, 0) / lastlogLammot['ottoteho'].length).toFixed(1) +"</b> W/avg, Lämmitysteho: <b>" + ((((obj['sisa_puhallus'] - obj['parvi']) * 800 * 1.25) / 3600).toFixed(2)) + "</b> kW, COP: " + COP + " ,<br />Ottoteho / 10min:" + lastlogLammot['ottoteho_avg'].reduce((a,c) => a + c, 0) / lastlogLammot['ottoteho_avg'].length.toFixed(2) + "<br />Ulkolämpö: <b>" + obj['ulkolampo'].toFixed(2) + "</b> c, sisälämpö: <b>" + obj['sisalampo'].toFixed(2) + "</b> c, lämpö parvella: <b>" + obj['parvi'].toFixed(2) + "</b> c ; Puhalluslämpö: <b>" + obj['sisa_puhallus'].toFixed(2) + "</b> c <br />" + "");
- // Vesimittarien kertoimet 1/2 = 11 ja 3/4 = 6.6
- style = `style="fill:green;fill-opacity:0.2;stroke:green;stroke-width:1"`;
- output += generate_bars (realTimeMonitorLog, 400, 100, style, x_margin = 10, y_margin = 20);
- document.getElementById("kulutus_bars").innerHTML = output;
- output = "Kumulatiivinen: " + (obj['pulsseja_laskettu'] * 0.0001).toFixed(3) + " kWh, <s>euroja kulunut " + (obj['pulsseja_laskettu'] * 0.0001 * energiahinta).toFixed(2) + " euroa.</s> (Energian hinta: " + (obj['kumul_spot_kokonaishinta'] / 100).toFixed(2) + " eur spot-hinnoin, " + ((obj['pulsseja_laskettu'] * 0.0001) * hinnat['yksAikaHinta']).toFixed(2) + " EUR)";
- document.getElementById("tiedot").innerHTML = output;
- document.getElementById("saikeita").innerHTML = "Säikeitä käynnissä: " + obj['meta']['saikeitaKaynnissa'];
- //document.getElementById("lahetetty").innerHTML = "Dataa lähetetty: " + obj['meta']['broadcastedBytes'];
- ulosta("lahetetty", "Dataa lähetetty: " + ((obj['meta']['broadcastedBytes'] / 1024 / 1024).toFixed(3)) + " MB");
- document.getElementById("pvm").innerHTML = "Päivämäärä: " + obj['meta']['paivamaaraTanaan'];
- document.getElementById("nordpool").innerHTML = "NordPooliin pyynnöt: " + obj['meta']['nordpoolReqTimes'];
- document.getElementById("pulsseja").innerHTML = "Pulsseja laskettu: " + obj['pulsseja_laskettu'];
- document.getElementById("lastlog").innerHTML = "" + lastLog.join("\n");
- document.getElementById("paikalla").innerHTML = "Asiakkaita paikalla: " + obj['meta']['asiakkaitaPaikalla'];
- document.getElementById("pyyntoja").innerHTML = "HTTP pyyntöjä saatu: " + obj['meta']['httpPyyntojaSaatu'];
- document.getElementById("restartTimes").innerHTML = "Datadumppi käynnistetty: " + obj['meta']['restartTimes'] + " kertaa";
- document.getElementById("kylmavesi").innerHTML = "Kylmä vesi: " + precise(obj['vesi']['kylma_vesi_count'] / 6.6 / 60, 5) + " l (" + precise(obj['vesi']['kylma_vesi_taajuus']/6.6) + " l/min)";
- document.getElementById("kuumavesi").innerHTML = "Kuuma vesi: " + precise(obj['vesi']['ulkokierto_count'] / 11 / 60, 5) + " l (<b>" + precise(obj['vesi']['taajuus'] / 11) + "</b> l/min, <b>" + precise(((obj['vesi']['taajuus'] / 11) / 60) * (80 * 4.2)) + "</b> kW )"; //Hetkellinen teho lämpötilaerolla 80 astetta, X virtauksella
- document.getElementById("lammitysteho").innerHTML = "Ulkokierron lämmitysteho:: " + precise(obj['vesi']['kierron_lammitysteho']) + " kW";
- //document.getElementById("saasto").innerHTML = "Ulkokierron säästö: " + precise(obj['vesi']['kierron_saasto'], 4) + " kWh (" + precise(obj['vesi']['kierron_saasto'] * (0.0279372 + 0.0408 + 0.089), 2) + " eur)";
- //document.getElementById("paluulampo").innerHTML = "Ulkokierron paluulämpö " + precise(obj['vesi']['kierron_paluulampo']) + " c";
- //document.getElementById("kuuman_veden_laskelma").innerHTML = "" + ((((obj['vesi']['ulkokierto_count'] / 11 / 60) * 80 * 4.2) * (0.0279372 + 0.0408 + energiahinta)) / 3600).toFixed(2) + " EUR, " + ((obj['vesi']['ulkokierto_count'] / 11 / 60) * 80 * 4.2).toFixed(2) + " kWh";
- document.getElementById("varaajan_lataus").innerHTML = "Varaajan latausaste: " + precise(obj['vesi']['varaajan_status'] / obj['vesi']['varaajan_kapasiteetti'] * 100, 4) + " %" + "<br />Ohjauskärjen tila: <b>" + obj['varaajan_karkitieto'] + "</b> (0 = kiinni, 1 = päällä)";
- //let kylman_veden_maara = obj['vesi']['kylma_vesi_count'] / 6.6 / 60;
- //document.getElementById("veden_arvo").innerHTML = "<br /> <b>" + precise(kylman_veden_maara / 1000 * 2.58) + "</b> EUR (<b>" + precise(kylman_veden_maara / 1000 * (2.58 + 3.19)) + "</b> EUR jätevesineen)<br />Porakaivosta kuoletettu <b>" + precise(kylman_veden_maara / 1000 * (2.58 / 4860 * 100)) + "</b> % <br /> <b>" + precise((4860 / 2.58) - (kylman_veden_maara / 1000), 7) + "</b> kuutiota kuoletukseen " ;
- }
- function sahkon_hinta(txt) {
- var hinta_tanaan = (txt['sahko_hinta_tanaan'].map(Number)).slice(0, -1);
- var hinta_huomenna = (txt['sahko_hinta_huomenna'].map(Number)).slice(0, -1);
- var kylma_paivittain = (txt['vesi_logi']['kylma_paivittain']);
- var lammin_paivittain = (txt['vesi_logi']['lammin_paivittain']);
- //console.log(lammin_paivittain);
- let output = "";
- let kuuma_vesi_yhteensa = txt['vesi_logi']['lammin_paivittain'].reduce((x, y)=> x+y);
- output += "<span style='color: blue;'>Kylmä vesi yhteensä: " + ((txt['vesi_logi']['kylma_paivittain'].reduce((x, y)=> x+y))/1000).toFixed(2) + " m3 </span><br />";
- output += "<span style='color: red;'>Kuuma vesi yhteensä: " + (kuuma_vesi_yhteensa / 1000).toFixed(2) + " m3,<br />Veden arvo: " + ((80*kuuma_vesi_yhteensa*4.2)/3600) * (kokonaishinta_yo) + " </span><br />";
- for (i = 0; i < kylma_paivittain.length; i++) {
- output += "<span style='color: blue;'>" + (kylma_paivittain[i]).toFixed(1) + "</span> \n";
- output += "<span style='color: red;'>" + (lammin_paivittain[i]).toFixed(1) + "</span><br />\n";
- output += "<hr />\n";
- }
- //console.log(output);
- document.getElementById("vesi_paivittain").innerHTML = output;
- //console.log(hinta_huomenna);
- const xArray = [];
- //if (hinta_huomenna[0] != 0) {
- // hinta_tanaan = hinta_tanaan.concat(hinta_huomenna);
- // xArray.concat(xArray);
- // }
- for (let i = 0; i < (hinta_tanaan.length); i++){
- xArray.push(i);
- }
- //console.log(hinta_tanaan);
- var data = [{
- x:xArray,
- y:hinta_tanaan,
- type:"bar",
- name: "Hinta tänään"
- }];
- if (hinta_huomenna[0] != 0) {
- data.push({x0: 0, dx: 1, y:hinta_huomenna, type:"bar", name:"Hinta huomenna"});
- }
- let kiintea_hinta = Array(24);
- kiintea_hinta.fill(14.9, 0, 7);
- kiintea_hinta.fill(22.1, 7, 22);
- kiintea_hinta.fill(14.9, 22, 24);
- data.push({x0: 0, x1: 1, xref: "paper", y: kiintea_hinta, type: "line", name: "Kiinteä hinta"});
- let timestamp = (txt['sahko']['aloitusaika'] * 1000);
- var luku = (d - timestamp) / 3600000 | 0;
- //console.log(luku);
- data.push({x0: ((0 - txt['kulutus_spot'].length) + (d.getHours() + 1)), dx: 1, y: txt['kulutus_spot'], type: "line", yaxis: {range: [0,4]}, name:"Kulutus / kWh"});
- data.push({x0: ((0 - txt['kulutus_spot'].length) + (d.getHours() + 1)), dx: 1, y: txt['kulutus_spot'].map(x => x * 21), type: "bar", yaxis: {range: [0,4]}, name:"Hinta / snt"});
- var layout = {
- title: "Sähkön hinta ja kulutus",
- margin: {l: 40, r: 0, b: 40, t: 40},
- xaxis: {
- title: "Aika",
- range: [0,24]
- },
- yaxis: {
- title: "Hinta cnt/per kWh",
- }, // Filled Circle
- shapes: [{
- type: "rect",
- x0: (d.getHours()- 0.2 ),
- y0: 0,
- x1: (d.getHours()+ 0.2),
- y1: 1,
- yref: "paper",
- opacity: 0.2,
- fillcolor: 'green',
- borderwidth: 0,
- line: {
- width: 0
- }
- }
- ]
- }
- Plotly.newPlot("myPlot", data, layout, {displayModeBar: false});
- //console.log(txt['vesi']['varaajan_status']);
- varaaja_canvas(txt['vesi']['varaajan_status'] / txt['vesi']['varaajan_kapasiteetti']);
- var ilpLayout = {
- title: "ILP kulutus",
- xaxis: {
- title: "Aika"
- },
- yaxis: {
- title: "Kulutus per h",
- }
- }
- var ilp_kulutus_tunneittain;
- console.log(txt['ilp']['ilp_count_per_h'].slice(-d.getHours()));
- var ilp_data = [
- {
- x: 0,
- y: txt['ilp']['ilp_count_per_h'].map(i => i / 1000),
- type: 'line'
- },
- {
- x: 0,
- y: Array(txt['ilp']['ilp_count_per_h'].length).fill(txt['ilp']['ilp_count_per_h'].reduce((a, b) => (a + b / 1000), 0) / txt['ilp']['ilp_count_per_h'].length),
- type: 'line',
- name: 'teho keskimäärin'
- }
- ];
- Plotly.newPlot("ILP", ilp_data, ilpLayout);
- txt['vesi_logi']['kylma_paivittain'].shift();
- txt['vesi_logi']['kylma_paivittain'].push(txt['vesi']['kylma_vesi_count'] / 6.6 / 60);
- var vesiLayout = {
- title: "Water consumption",
- xaxis: {
- title: "Day",
- },
- yaxis: {
- title: "Liters per day",
- },
- images: [
- {
- x: 0,
- y: 0,
- sizex: 1,
- sizey: 1,
- xanchor: "left",
- xref: "paper",
- yanchor: "bottom",
- yref: "paper",
- opacity: 0.2
- }
- ]
- };
- var vesi_data = [
- {
- x: 0,
- y: (txt['vesi_logi']['kylma_paivittain'].map(i => i.toFixed(0))),
- type: 'bar',
- name: "Cold ",
- marker: {color: 'blue'}
- },
- {
- x: 0,
- y: (txt['vesi_logi']['lammin_paivittain'].map(i => i.toFixed(0))),
- type: 'bar',
- name: "Kuuma ",
- marker: {color: 'red'}
- }
- ];
- //Plotly.newPlot("vesi", vesi_data, vesiLayout);
- var lammotLayout = {
- margin: {l: 40, r: 0, b: 40, t: 0},
- yaxis: {title: "Astetta"},
- xaxis: {title: "Minuuttia"}
- };
- txt['ilp']['sisalampo'].shift();
- txt['ilp']['ulkolampo'].shift();
- txt['ilp']['sisa_puhallus'].shift();
- txt['ilp']['parvi'].shift();
- var lammot_data = [
- {
- y: (txt['ilp']['sisalampo']),
- type: 'line',
- name: "Huonelämpö ",
- marker: {color: 'green'}
- },
- {
- x: 0,
- y: (txt['ilp']['ulkolampo']),
- type: 'bar',
- name: "Imulämpö ulkona",
- marker: {color: 'blue'}
- },
- {
- x: 0,
- y: (txt['ilp']['sisa_puhallus']),
- name: "Puhalluslämpö sisällä ",
- line: {shape: 'linear'},
- marker: {color: 'red'}
- },
- {
- x: 0,
- y: (txt['ilp']['ulko_puhallus']),
- name: "Puhalluslämpö ulkona ",
- line: {shape: 'linear'},
- marker: {color: 'blueviolet'}
- },
- {
- x: 0,
- y: (txt['ilp']['parvi']),
- type: 'line',
- name: "Imulämpö parvella ",
- marker: {color: 'magenta'}
- }
- //},
- //{
- //x: 0,
- //y: (txt['ilp']['ilp_ottoteho_log'].map(i => i * 10 )),
- //type: 'bar',
- //name: "Ottoteho spot ",
- //marker: {color: 'orange'}
- //}
- ];
- Plotly.newPlot("lammot", lammot_data, lammotLayout, {displayModeBar: false});
- }
- var hinta;
- let data = fetch('/kaikki_data')
- .then(response => response.json())
- .then(data => sahkon_hinta(data));
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement