From bb929263ad0b27979266af0d3f9a0b2037eac503 Mon Sep 17 00:00:00 2001 From: TrystanLea Date: Mon, 17 Oct 2022 21:38:05 +0100 Subject: [PATCH 1/3] save view state to url --- .../myheatpump/myheatpump.js | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/apps/OpenEnergyMonitor/myheatpump/myheatpump.js b/apps/OpenEnergyMonitor/myheatpump/myheatpump.js index 9a04e80d..21a1f44d 100644 --- a/apps/OpenEnergyMonitor/myheatpump/myheatpump.js +++ b/apps/OpenEnergyMonitor/myheatpump/myheatpump.js @@ -152,6 +152,11 @@ function show() $("#last_updated").hide(); $("#live_table").show(); } + + if (urlParams.mode!=undefined) { + if (urlParams.mode=="realtime") viewmode = "powergraph" + } + // If this is a new dashboard there will be less than a days data // show power graph directly in this case @@ -159,6 +164,10 @@ function show() var timeWindow = (end - start_time*1000); if (timeWindow>(86400*3*1000)) timeWindow = 86400*1*1000; var start = end - timeWindow; + + if (urlParams.start!=undefined) start = urlParams.start*1000; + if (urlParams.end!=undefined) end = urlParams.end*1000; + view.start = start; view.end = end; viewmode = "powergraph"; @@ -171,6 +180,10 @@ function show() var timeWindow = (3600000*24.0*30); var start = end - timeWindow; if (start<(start_time*1000)) start = start_time * 1000; + + if (urlParams.start!=undefined) start = urlParams.start*1000; + if (urlParams.end!=undefined) end = urlParams.end*1000; + bargraph_load(start,end); bargraph_draw(); $("#advanced-toggle").hide(); @@ -1078,6 +1091,8 @@ function powergraph_load() // ------------------------------------------------------------------------------- function powergraph_draw() { + set_url_view_params("realtime",view.start,view.end); + var style = {size:flot_font_size, color:"#666"} var options = { lines: { fill: false }, @@ -1165,6 +1180,8 @@ function bargraph_load(start,end) if (cop_in_window<0) cop_in_window = 0; $("#window-cop").html((cop_in_window).toFixed(2)); $("#window-carnot-cop").html(""); + + set_url_view_params('daily',start,end); } function bargraph_draw() @@ -1256,6 +1273,14 @@ function remove_null_values(data_in) { return tmp; } +function set_url_view_params(mode,start,end) { + const url = new URL(window.location); + url.searchParams.set('mode', mode); + url.searchParams.set('start', Math.round(start*0.001)); + url.searchParams.set('end', Math.round(end*0.001)); + window.history.pushState(null, '', url.toString()); +} + function draw_histogram(histogram){ var keys = []; From 35ed490c3e01f4027897176194775fa3e34aea64 Mon Sep 17 00:00:00 2001 From: MrTimbones Date: Tue, 14 Nov 2023 18:25:54 +0000 Subject: [PATCH 2/3] Changed to use a share icon instead --- apps/OpenEnergyMonitor/myheatpump/myheatpump.js | 12 ++++++------ apps/OpenEnergyMonitor/myheatpump/myheatpump.php | 7 ++++--- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/apps/OpenEnergyMonitor/myheatpump/myheatpump.js b/apps/OpenEnergyMonitor/myheatpump/myheatpump.js index 21a1f44d..0a7d05d5 100644 --- a/apps/OpenEnergyMonitor/myheatpump/myheatpump.js +++ b/apps/OpenEnergyMonitor/myheatpump/myheatpump.js @@ -152,9 +152,9 @@ function show() $("#last_updated").hide(); $("#live_table").show(); } - + if (urlParams.mode!=undefined) { - if (urlParams.mode=="realtime") viewmode = "powergraph" + if (urlParams.mode=="power") viewmode = "powergraph" } @@ -1091,8 +1091,8 @@ function powergraph_load() // ------------------------------------------------------------------------------- function powergraph_draw() { - set_url_view_params("realtime",view.start,view.end); - + set_url_view_params("power",view.start,view.end); + var style = {size:flot_font_size, color:"#666"} var options = { lines: { fill: false }, @@ -1204,7 +1204,7 @@ function bargraph_draw() // labelWidth:-5 reserveSpace:false, // max:40 - }], + }], selection: { mode: "x" }, grid: { show:true, @@ -1278,7 +1278,7 @@ function set_url_view_params(mode,start,end) { url.searchParams.set('mode', mode); url.searchParams.set('start', Math.round(start*0.001)); url.searchParams.set('end', Math.round(end*0.001)); - window.history.pushState(null, '', url.toString()); + $('#permalink')[0].href = url.toString(); } function draw_histogram(histogram){ diff --git a/apps/OpenEnergyMonitor/myheatpump/myheatpump.php b/apps/OpenEnergyMonitor/myheatpump/myheatpump.php index a1087fd3..a5b7ae10 100644 --- a/apps/OpenEnergyMonitor/myheatpump/myheatpump.php +++ b/apps/OpenEnergyMonitor/myheatpump/myheatpump.php @@ -22,8 +22,9 @@
-
- +
+ +
@@ -83,7 +84,7 @@ D H
- +
HISTORY
From f4db989de78ce25190dc660a84cf401996f16364 Mon Sep 17 00:00:00 2001 From: MrTimbones Date: Tue, 14 Nov 2023 18:34:37 +0000 Subject: [PATCH 3/3] Automatically open details when opening to power --- apps/OpenEnergyMonitor/myheatpump/myheatpump.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/OpenEnergyMonitor/myheatpump/myheatpump.js b/apps/OpenEnergyMonitor/myheatpump/myheatpump.js index 0a7d05d5..cad8924c 100644 --- a/apps/OpenEnergyMonitor/myheatpump/myheatpump.js +++ b/apps/OpenEnergyMonitor/myheatpump/myheatpump.js @@ -154,9 +154,12 @@ function show() } if (urlParams.mode!=undefined) { - if (urlParams.mode=="power") viewmode = "powergraph" - } - + if (urlParams.mode=="power") { + viewmode = "powergraph" + $("#advanced-block").show(); + $("#advanced-toggle").html("HIDE DETAIL"); + } + } // If this is a new dashboard there will be less than a days data // show power graph directly in this case