mirror of
https://github.com/UtilitechAS/amsreader-firmware.git
synced 2026-01-12 00:02:53 +00:00
Changes to allow interaction with cloud service
This commit is contained in:
parent
7ad97daf86
commit
770d662f2c
12
lib/SvelteUi/app/dist/index.js
vendored
12
lib/SvelteUi/app/dist/index.js
vendored
File diff suppressed because one or more lines are too long
@ -76,13 +76,18 @@
|
||||
data = update;
|
||||
});
|
||||
|
||||
let tariffData = {};
|
||||
tariffStore.subscribe(update => {
|
||||
tariffData = update;
|
||||
});
|
||||
getTariff();
|
||||
</script>
|
||||
|
||||
<div class="container mx-auto m-3">
|
||||
<Router basepath={basepath}>
|
||||
<Header data={data} basepath={basepath}/>
|
||||
<Route path="/">
|
||||
<Dashboard data={data} sysinfo={sysinfo} prices={prices} dayPlot={dayPlot} monthPlot={monthPlot} temperatures={temperatures} translations={translations}/>
|
||||
<Dashboard data={data} sysinfo={sysinfo} prices={prices} dayPlot={dayPlot} monthPlot={monthPlot} temperatures={temperatures} translations={translations} tariffData={tariffData}/>
|
||||
</Route>
|
||||
<Route path="/configuration">
|
||||
<ConfigurationPanel sysinfo={sysinfo} basepath={basepath} data={data}/>
|
||||
|
||||
@ -1,16 +1,11 @@
|
||||
<script>
|
||||
import { fmtnum, capitalize, formatUnit } from "./Helpers";
|
||||
import { translationsStore } from "./TranslationService";
|
||||
|
||||
export let sysinfo;
|
||||
export let data;
|
||||
export let currency;
|
||||
export let hasExport;
|
||||
|
||||
let translations = {};
|
||||
translationsStore.subscribe(update => {
|
||||
translations = update;
|
||||
});
|
||||
export let translations = {};
|
||||
|
||||
let rih,rid,rim,ril, reh,red,rem,rel;
|
||||
let hasCost = false;
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
export let monthPlot = {}
|
||||
export let temperatures = {};
|
||||
export let translations = {};
|
||||
export let tariffData = {};
|
||||
|
||||
let it,et,threePhase, l1e, l2e, l3e;
|
||||
$: {
|
||||
@ -117,17 +118,17 @@
|
||||
{/if}
|
||||
{#if uiVisibility(sysinfo.ui.r, data.ri > 0 || data.re > 0 || data.ric > 0 || data.rec > 0)}
|
||||
<div class="cnt">
|
||||
<ReactiveData importInstant={data.ri} exportInstant={data.re} importTotal={data.ric} exportTotal={data.rec}/>
|
||||
<ReactiveData importInstant={data.ri} exportInstant={data.re} importTotal={data.ric} exportTotal={data.rec} translations={translations}/>
|
||||
</div>
|
||||
{/if}
|
||||
{#if uiVisibility(sysinfo.ui.c, data.ea)}
|
||||
<div class="cnt">
|
||||
<AccountingData sysinfo={sysinfo} data={data.ea} currency={data.pc} hasExport={data.om > 0 || data.e > 0}/>
|
||||
<AccountingData sysinfo={sysinfo} data={data.ea} currency={data.pc} hasExport={data.om > 0 || data.e > 0} translations={translations}/>
|
||||
</div>
|
||||
{/if}
|
||||
{#if uiVisibility(sysinfo.ui.t, data.pr && (data.pr.startsWith("NO") || data.pr.startsWith("10YNO") || data.pr.startsWith('10Y1001A1001A4')))}
|
||||
<div class="cnt h-64">
|
||||
<TariffPeakChart title={translations.dashboard?.tariffpeak ?? "Tariff peaks"}/>
|
||||
<TariffPeakChart title={translations.dashboard?.tariffpeak ?? "Tariff peaks"} tariffData={tariffData} translations={translations}/>
|
||||
</div>
|
||||
{/if}
|
||||
{#if uiVisibility(sysinfo.ui.l, data.hm == 1)}
|
||||
|
||||
@ -1,16 +1,11 @@
|
||||
<script>
|
||||
import { translationsStore } from "./TranslationService";
|
||||
import { formatUnit } from "./Helpers";
|
||||
|
||||
export let importInstant;
|
||||
export let exportInstant;
|
||||
export let importTotal;
|
||||
export let exportTotal;
|
||||
|
||||
let translations = {};
|
||||
translationsStore.subscribe(update => {
|
||||
translations = update;
|
||||
});
|
||||
export let translations = {};
|
||||
|
||||
let ii,ei,it,et;
|
||||
$: {
|
||||
|
||||
@ -1,15 +1,9 @@
|
||||
<script>
|
||||
import { zeropad } from './Helpers.js';
|
||||
import BarChart from './BarChart.svelte';
|
||||
import { tariffStore, getTariff } from './DataStores';
|
||||
import { translationsStore } from './TranslationService.js';
|
||||
|
||||
let translations = {};
|
||||
translationsStore.subscribe(update => {
|
||||
translations = update;
|
||||
});
|
||||
|
||||
export let title;
|
||||
export let translations = {};
|
||||
|
||||
let dark = document.documentElement.classList.contains('dark');
|
||||
|
||||
@ -17,11 +11,7 @@
|
||||
let max = 0;
|
||||
let min = 0;
|
||||
|
||||
let tariffData;
|
||||
tariffStore.subscribe(update => {
|
||||
tariffData = update;
|
||||
});
|
||||
getTariff();
|
||||
export let tariffData;
|
||||
|
||||
$: {
|
||||
let i = 0;
|
||||
|
||||
@ -10,6 +10,7 @@ static const char HEADER_PRAGMA[] PROGMEM = "Pragma";
|
||||
static const char HEADER_EXPIRES[] PROGMEM = "Expires";
|
||||
static const char HEADER_AUTHENTICATE[] PROGMEM = "WWW-Authenticate";
|
||||
static const char HEADER_LOCATION[] PROGMEM = "Location";
|
||||
static const char HEADER_ACCESS_CONTROL_ALLOW_ORIGIN[] PROGMEM = "Access-Control-Allow-Origin";
|
||||
|
||||
static const char CACHE_CONTROL_NO_CACHE[] PROGMEM = "no-cache, no-store, must-revalidate";
|
||||
static const char CONTENT_ENCODING_GZIP[] PROGMEM = "gzip";
|
||||
@ -25,3 +26,5 @@ static const char MIME_HTML[] PROGMEM = "text/html";
|
||||
static const char MIME_JSON[] PROGMEM = "application/json";
|
||||
static const char MIME_CSS[] PROGMEM = "text/css";
|
||||
static const char MIME_JS[] PROGMEM = "text/javascript";
|
||||
|
||||
static const char ORIGIN_AMSLESER_CLOUD[] PROGMEM = "https://amsleser.cloud";
|
||||
|
||||
@ -438,6 +438,7 @@ void AmsWebServer::sysinfoJson() {
|
||||
|
||||
stripNonAscii((uint8_t*) buf, size+1);
|
||||
|
||||
server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, ORIGIN_AMSLESER_CLOUD);
|
||||
server.sendHeader(HEADER_CACHE_CONTROL, CACHE_CONTROL_NO_CACHE);
|
||||
server.sendHeader(HEADER_PRAGMA, PRAGMA_NO_CACHE);
|
||||
server.sendHeader(HEADER_EXPIRES, EXPIRES_OFF);
|
||||
@ -608,6 +609,7 @@ void AmsWebServer::dataJson() {
|
||||
checkSecurity(1, false) ? "true" : "false"
|
||||
);
|
||||
|
||||
server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, ORIGIN_AMSLESER_CLOUD);
|
||||
server.sendHeader(HEADER_CACHE_CONTROL, CACHE_CONTROL_NO_CACHE);
|
||||
server.sendHeader(HEADER_PRAGMA, PRAGMA_NO_CACHE);
|
||||
server.sendHeader(HEADER_EXPIRES, EXPIRES_OFF);
|
||||
@ -629,6 +631,7 @@ void AmsWebServer::dayplotJson() {
|
||||
}
|
||||
snprintf_P(buf+pos, BufferSize-pos, PSTR("}"));
|
||||
|
||||
server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, ORIGIN_AMSLESER_CLOUD);
|
||||
server.sendHeader(HEADER_CACHE_CONTROL, CACHE_CONTROL_NO_CACHE);
|
||||
server.sendHeader(HEADER_PRAGMA, PRAGMA_NO_CACHE);
|
||||
server.sendHeader(HEADER_EXPIRES, EXPIRES_OFF);
|
||||
@ -651,6 +654,7 @@ void AmsWebServer::monthplotJson() {
|
||||
}
|
||||
snprintf_P(buf+pos, BufferSize-pos, PSTR("}"));
|
||||
|
||||
server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, ORIGIN_AMSLESER_CLOUD);
|
||||
server.sendHeader(HEADER_CACHE_CONTROL, CACHE_CONTROL_NO_CACHE);
|
||||
server.sendHeader(HEADER_PRAGMA, PRAGMA_NO_CACHE);
|
||||
server.sendHeader(HEADER_EXPIRES, EXPIRES_OFF);
|
||||
@ -683,6 +687,7 @@ void AmsWebServer::energyPriceJson() {
|
||||
}
|
||||
snprintf_P(buf+pos, BufferSize-pos, PSTR("}"));
|
||||
|
||||
server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, ORIGIN_AMSLESER_CLOUD);
|
||||
server.sendHeader(HEADER_CACHE_CONTROL, CACHE_CONTROL_NO_CACHE);
|
||||
server.sendHeader(HEADER_PRAGMA, PRAGMA_NO_CACHE);
|
||||
server.sendHeader(HEADER_EXPIRES, EXPIRES_OFF);
|
||||
@ -715,6 +720,7 @@ void AmsWebServer::temperatureJson() {
|
||||
char* pos = buf+strlen(buf);
|
||||
snprintf_P(count == 0 ? pos : pos-1, 8, PSTR("]}"));
|
||||
|
||||
server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, ORIGIN_AMSLESER_CLOUD);
|
||||
server.sendHeader(HEADER_CACHE_CONTROL, CACHE_CONTROL_NO_CACHE);
|
||||
server.sendHeader(HEADER_PRAGMA, PRAGMA_NO_CACHE);
|
||||
server.sendHeader(HEADER_EXPIRES, EXPIRES_OFF);
|
||||
@ -832,6 +838,7 @@ void AmsWebServer::configurationJson() {
|
||||
qsk = LittleFS.exists(FILE_MQTT_KEY);
|
||||
}
|
||||
|
||||
server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, ORIGIN_AMSLESER_CLOUD);
|
||||
server.sendHeader(HEADER_CACHE_CONTROL, CACHE_CONTROL_NO_CACHE);
|
||||
server.sendHeader(HEADER_PRAGMA, PRAGMA_NO_CACHE);
|
||||
server.sendHeader(HEADER_EXPIRES, EXPIRES_OFF);
|
||||
@ -1008,6 +1015,7 @@ void AmsWebServer::priceConfigJson() {
|
||||
if(!checkSecurity(1))
|
||||
return;
|
||||
|
||||
server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, ORIGIN_AMSLESER_CLOUD);
|
||||
server.sendHeader(HEADER_CACHE_CONTROL, CACHE_CONTROL_NO_CACHE);
|
||||
server.sendHeader(HEADER_PRAGMA, PRAGMA_NO_CACHE);
|
||||
server.sendHeader(HEADER_EXPIRES, EXPIRES_OFF);
|
||||
@ -1077,6 +1085,7 @@ void AmsWebServer::translationsJson() {
|
||||
return;
|
||||
}
|
||||
|
||||
server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, ORIGIN_AMSLESER_CLOUD);
|
||||
// server.sendHeader(HEADER_CACHE_CONTROL, CACHE_1DA);
|
||||
server.sendHeader(HEADER_CACHE_CONTROL, CACHE_CONTROL_NO_CACHE);
|
||||
server.sendHeader(HEADER_PRAGMA, PRAGMA_NO_CACHE);
|
||||
@ -1641,6 +1650,8 @@ void AmsWebServer::upgrade() {
|
||||
"",
|
||||
sys.dataCollectionConsent == 1 ? "true" : "false"
|
||||
);
|
||||
|
||||
server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, ORIGIN_AMSLESER_CLOUD);
|
||||
server.setContentLength(strlen(buf));
|
||||
server.send(200, MIME_JSON, buf);
|
||||
|
||||
@ -1849,7 +1860,7 @@ HTTPUpload& AmsWebServer::uploadFile(const char* path) {
|
||||
}
|
||||
|
||||
void AmsWebServer::isAliveCheck() {
|
||||
server.sendHeader(F("Access-Control-Allow-Origin"), F("*"));
|
||||
server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, F("*"));
|
||||
server.send(200);
|
||||
}
|
||||
|
||||
@ -2027,6 +2038,7 @@ void AmsWebServer::tariffJson() {
|
||||
ea->getMonthMax()
|
||||
);
|
||||
|
||||
server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, ORIGIN_AMSLESER_CLOUD);
|
||||
server.sendHeader(HEADER_CACHE_CONTROL, CACHE_CONTROL_NO_CACHE);
|
||||
server.sendHeader(HEADER_PRAGMA, PRAGMA_NO_CACHE);
|
||||
server.sendHeader(HEADER_EXPIRES, EXPIRES_OFF);
|
||||
@ -2041,6 +2053,7 @@ void AmsWebServer::realtimeJson() {
|
||||
return;
|
||||
}
|
||||
|
||||
server.sendHeader(HEADER_ACCESS_CONTROL_ALLOW_ORIGIN, ORIGIN_AMSLESER_CLOUD);
|
||||
server.sendHeader(HEADER_CACHE_CONTROL, CACHE_CONTROL_NO_CACHE);
|
||||
server.sendHeader(HEADER_PRAGMA, PRAGMA_NO_CACHE);
|
||||
server.sendHeader(HEADER_EXPIRES, EXPIRES_OFF);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user