From 58e1238e6ea13b37d826dec139b4a47fcd18e699 Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Sat, 21 Oct 2023 10:58:07 +0200 Subject: [PATCH] Replace savings with session based stats (#10341) --- assets/js/co2Reference.js | 26 ++ assets/js/components/AnimatedNumber.vue | 6 + assets/js/components/CustomSelect.vue | 5 +- assets/js/components/LiveCommunity.vue | 2 +- assets/js/components/LoadpointSessionInfo.vue | 5 +- assets/js/components/Savings.vue | 242 +++++++++++++----- assets/js/components/SavingsTile.vue | 13 +- assets/js/components/Site.vue | 20 +- assets/js/components/TopNavigation.vue | 4 + assets/js/settings.js | 6 + core/energy_metrics.go | 10 +- core/loadpoint.go | 6 +- core/savings.go | 149 ----------- core/savings_test.go | 177 ------------- core/site.go | 11 +- core/stats.go | 95 +++++++ i18n/de.toml | 18 +- i18n/en.toml | 18 +- tests/stats.evcc.yaml | 57 +++++ tests/stats.spec.js | 102 ++++++++ tests/stats.sql | 24 ++ util/telemetry/charge.go | 19 +- 22 files changed, 574 insertions(+), 441 deletions(-) create mode 100644 assets/js/co2Reference.js delete mode 100644 core/savings.go delete mode 100644 core/savings_test.go create mode 100644 core/stats.go create mode 100755 tests/stats.evcc.yaml create mode 100644 tests/stats.spec.js create mode 100644 tests/stats.sql diff --git a/assets/js/co2Reference.js b/assets/js/co2Reference.js new file mode 100644 index 0000000000..fa342c7869 --- /dev/null +++ b/assets/js/co2Reference.js @@ -0,0 +1,26 @@ +// Data source: gCO2eq/kWh +const source = "https://ourworldindata.org/grapher/carbon-intensity-electricity?tab=table"; + +// This is a manual selection of countries. If yours is missing, please add it with data from the source above. +const regions = [ + { name: "Australia", co2: 503 }, + { name: "Austria", co2: 158 }, + { name: "Canada", co2: 128 }, + { name: "Czech Republic", co2: 415 }, + { name: "Denmark", co2: 181 }, + { name: "Estonia", co2: 464 }, + { name: "Europe", co2: 278 }, + { name: "Finland", co2: 131 }, + { name: "France", co2: 85 }, + { name: "Germany", co2: 385 }, + { name: "Netherlands", co2: 356 }, + { name: "Norway", co2: 29 }, + { name: "Poland", co2: 635 }, + { name: "Sweden", co2: 45 }, + { name: "Switzerland", co2: 46 }, + { name: "United Kingdom", co2: 257 }, + { name: "United States", co2: 367 }, + { name: "World", co2: 436 }, +]; + +export default { regions, source }; diff --git a/assets/js/components/AnimatedNumber.vue b/assets/js/components/AnimatedNumber.vue index 00b735c077..6be3b958c7 100644 --- a/assets/js/components/AnimatedNumber.vue +++ b/assets/js/components/AnimatedNumber.vue @@ -48,3 +48,9 @@ export default { }, }; + + diff --git a/assets/js/components/CustomSelect.vue b/assets/js/components/CustomSelect.vue index 5a8931e5fd..ba5fcac25b 100644 --- a/assets/js/components/CustomSelect.vue +++ b/assets/js/components/CustomSelect.vue @@ -1,6 +1,6 @@