Energy accounting

This commit is contained in:
Gunnar Skjold
2022-01-29 19:27:48 +01:00
parent 8c69f9a738
commit 77ce5d8e90
25 changed files with 483 additions and 342 deletions

View File

@@ -755,13 +755,16 @@ var fetch = function() {
if(json.ea) {
$('#each').html(json.ea.h.u.toFixed(2));
$('#eachc').html(json.ea.h.c.toFixed(2));
$('#eacd').html(json.ea.d.u.toFixed(2));
$('#eacdc').html(json.ea.d.c.toFixed(2));
$('#eacm').html(json.ea.m.u.toFixed(2));
$('#eacmc').html(json.ea.m.c.toFixed(2));
$('#eax').html(json.ea.x.toFixed(2));
$('#eat').html(json.ea.t.toFixed(2));
$('#eacd').html(json.ea.d.u.toFixed(1));
$('#eacdc').html(json.ea.d.c.toFixed(1));
$('#eacm').html(json.ea.m.u.toFixed(0));
$('#eacmc').html(json.ea.m.c.toFixed(0));
$('#eax').html(json.ea.x.toFixed(1));
$('#eat').html(json.ea.t.toFixed(0));
$('.cr').html(currency);
if(currency) {
$('.sp').show();
}
}
if(json.me) {

116
web/energyaccounting.html Normal file
View File

@@ -0,0 +1,116 @@
<form method="post" action="/save">
<input type="hidden" name="cc" value="true"/>
<div class="my-3 p-3 bg-white rounded shadow">
<h6>Tariff thresholds</h6>
<div class="row">
<div class="col-lg-2 col-md-3 col-sm-4 col-6">
<div class="m-2 input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text">1</span>
</div>
<input class="form-control text-right" name="t0" type="number" min="5" max="255" step="1" value="{t0}"/>
<div class="input-group-append">
<span class="input-group-text">kWh</span>
</div>
</div>
</div>
<div class="col-lg-2 col-md-3 col-sm-4 col-6">
<div class="m-2 input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text">2</span>
</div>
<input class="form-control text-right" name="t1" type="number" min="5" max="255" step="1" value="{t1}"/>
<div class="input-group-append">
<span class="input-group-text">kWh</span>
</div>
</div>
</div>
<div class="col-lg-2 col-md-3 col-sm-4 col-6">
<div class="m-2 input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text">3</span>
</div>
<input class="form-control text-right" name="t2" type="number" min="5" max="255" step="1" value="{t2}"/>
<div class="input-group-append">
<span class="input-group-text">kWh</span>
</div>
</div>
</div>
<div class="col-lg-2 col-md-3 col-sm-4 col-6">
<div class="m-2 input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text">4</span>
</div>
<input class="form-control text-right" name="t3" type="number" min="5" max="255" step="1" value="{t3}"/>
<div class="input-group-append">
<span class="input-group-text">kWh</span>
</div>
</div>
</div>
<div class="col-lg-2 col-md-3 col-sm-4 col-6">
<div class="m-2 input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text">5</span>
</div>
<input class="form-control text-right" name="t4" type="number" min="5" max="255" step="1" value="{t4}"/>
<div class="input-group-append">
<span class="input-group-text">kWh</span>
</div>
</div>
</div>
<div class="col-lg-2 col-md-3 col-sm-4 col-6">
<div class="m-2 input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text">6</span>
</div>
<input class="form-control text-right" name="t5" type="number" min="5" max="255" step="1" value="{t5}"/>
<div class="input-group-append">
<span class="input-group-text">kWh</span>
</div>
</div>
</div>
<div class="col-lg-2 col-md-3 col-sm-4 col-6">
<div class="m-2 input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text">7</span>
</div>
<input class="form-control text-right" name="t6" type="number" min="5" max="255" step="1" value="{t6}"/>
<div class="input-group-append">
<span class="input-group-text">kWh</span>
</div>
</div>
</div>
<div class="col-lg-2 col-md-3 col-sm-4 col-6">
<div class="m-2 input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text">8</span>
</div>
<input class="form-control text-right" name="t7" type="number" min="5" max="255" step="1" value="{t7}"/>
<div class="input-group-append">
<span class="input-group-text">kWh</span>
</div>
</div>
</div>
<div class="col-lg-2 col-md-3 col-sm-4 col-6">
<div class="m-2 input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text">9</span>
</div>
<input class="form-control text-right" name="t8" type="number" min="5" max="255" step="1" value="{t8}"/>
<div class="input-group-append">
<span class="input-group-text">kWh</span>
</div>
</div>
</div>
</div>
</div>
<hr/>
<div class="row form-group">
<div class="col-6">
<a href="/" class="btn btn-outline-secondary">Back</a>
</div>
<div class="col-6 text-right">
<button class="btn btn-primary">Save</button>
</div>
</div>
</form>

View File

@@ -62,6 +62,7 @@
<a class="dropdown-item" href="/mqtt">MQTT</a>
<a class="dropdown-item" href="/web">Web</a>
<a class="dropdown-item" href="/ntp">NTP</a>
<a class="dropdown-item" href="/accounting">Thresholds</a>
<a class="dropdown-item" href="/entsoe">ENTSO-E API</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="https://github.com/gskjold/AmsToMqttBridge/wiki" target="_blank">Documentation</a>

View File

@@ -62,6 +62,7 @@
<a class="dropdown-item" href="/mqtt">MQTT</a>
<a class="dropdown-item" href="/web">Web</a>
<a class="dropdown-item" href="/ntp">NTP</a>
<a class="dropdown-item" href="/accounting">Thresholds</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="https://github.com/gskjold/AmsToMqttBridge/wiki" target="_blank">Documentation</a>
</div>

View File

@@ -113,14 +113,14 @@
<div class="col-xl-12 mb-3">
<div class="bg-white rounded shadow pt-3 pb-3" style="font-size: 14px;">
<strong class="mr-3 ml-3">Current use and cost</strong><br/>
<strong class="mr-3 ml-3">Real time calculation</strong><br/>
<div class="row">
<div class="col-lg-3 col-sm-6">
<div class="mr-3 ml-3 d-flex">
<div>Hour</div>
<div class="flex-fill text-right">
<span id="each"></span> kWh
<span class="sp text-nowrap">(<span id="eachc"></span> <span class="cr"></span>)</span>
<span class="sp text-nowrap" style="display: none;">(<span id="eachc"></span> <span class="cr"></span>)</span>
</div>
</div>
</div>
@@ -129,7 +129,7 @@
<div>Day</div>
<div class="flex-fill text-right">
<span id="eacd"></span> kWh
<span class="sp text-nowrap">(<span id="eacdc"></span> <span class="cr"></span>)</span>
<span class="sp text-nowrap" style="display: none;">(<span id="eacdc"></span> <span class="cr"></span>)</span>
</div>
</div>
</div>
@@ -138,14 +138,16 @@
<div>Month</div>
<div class="flex-fill text-right">
<span id="eacm"></span> kWh
<span class="sp text-nowrap">(<span id="eacmc"></span> <span class="cr"></span>)</span>
<span class="sp text-nowrap" style="display: none;">(<span id="eacmc"></span> <span class="cr"></span>)</span>
</div>
</div>
</div>
<div class="col-lg-3 col-sm-6">
<div class="row mr-3 ml-3">
<div class="col-3">Max</div>
<div class="col-9 text-right"><span id="eax"></span> / <span id="eat"></span> kWh</div>
<div class="mr-3 ml-3 d-flex">
<div>Max</div>
<div class="flex-fill text-right">
<span id="eax"></span> / <span id="eat"></span> kWh
</div>
</div>
</div>
</div>

View File

@@ -8,5 +8,9 @@
"temp": %.2f,
"data" : {
"P" : %d
},
"realtime" : {
"h" : %.2f,
"t" : %d
}
}

View File

@@ -20,5 +20,9 @@
"U1" : %.2f,
"U2" : %.2f,
"U3" : %.2f
},
"realtime" : {
"h" : %.2f,
"t" : %d
}
}

View File

@@ -25,5 +25,9 @@
"tQI" : %.3f,
"tQO" : %.3f,
"rtc" : %lu
},
"realtime" : {
"h" : %.2f,
"t" : %d
}
}

View File

@@ -29,5 +29,9 @@
"tQI" : %.2f,
"tQO" : %.2f,
"rtc" : %lu
},
"realtime" : {
"h" : %.2f,
"t" : %d
}
}