mirror of
https://github.com/UtilitechAS/amsreader-firmware.git
synced 2026-01-25 20:06:08 +00:00
Added support for retrieving energy price from ENTSO-E API
This commit is contained in:
@@ -111,19 +111,18 @@ $(function() {
|
||||
case '/temperature':
|
||||
$('#config-temp-link').addClass('active');
|
||||
break;
|
||||
case '/config-meter':
|
||||
case '/price':
|
||||
$('#config-price-link').addClass('active');
|
||||
break;
|
||||
case '/config-meter':
|
||||
$('#config-meter-link').addClass('active');
|
||||
break;
|
||||
case '/config-wifi':
|
||||
$('#config-wifi-link').addClass('active');
|
||||
break;
|
||||
case '/config-wifi':
|
||||
case '/config-mqtt':
|
||||
case '/mqtt-ca':
|
||||
case '/mqtt-cert':
|
||||
case '/mqtt-key':
|
||||
case '/config-domoticz':
|
||||
$('#config-mqtt-link').addClass('active');
|
||||
break;
|
||||
case '/config-web':
|
||||
case '/ntp':
|
||||
case '/gpio':
|
||||
|
||||
@@ -1,17 +1,5 @@
|
||||
<form method="post" action="/save">
|
||||
<input type="hidden" name="domoConfig" value="true"/>
|
||||
<div class="my-3 p-3 bg-white rounded shadow">
|
||||
<p>Domoticz Configuration. Requires that a Domoticz MQTT-message-broker is setup. HOWTO: https://www.domoticz.com/wiki/MQTT.</p>
|
||||
<p>The following virtual sensors can currently be used:</p>
|
||||
<ul>
|
||||
<li>Electricity (instant and counter)</li>
|
||||
<li>Electricity Current/Ampere 3 Phase</li>
|
||||
<li>Voltage</li>
|
||||
</ul>
|
||||
<p>see: <a href="https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's">https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's</a></p>
|
||||
<p>Create the sensors in Domoticz under Hardware > Dummy > Create virtual sensor, and use the IDX assigned to the sensor as input here.</p>
|
||||
<p>"Electricity (instant and counter)" relies on Total energy import "tPI" and will not start before the first value is read (once an hour).</p>
|
||||
</div>
|
||||
<div class="my-3 p-3 bg-white rounded shadow">
|
||||
<div class="d-flex flex-row flex-wrap">
|
||||
<div class="m-2 input-group input-group-sm" style="width: 200px;">
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<form method="post" action="/save">
|
||||
<input type="hidden" name="mqttConfig" value="true"/>
|
||||
<div class="my-3 p-3 bg-white rounded shadow">
|
||||
<h6>MQTT</h6>
|
||||
<label class="m-2"><input id="mqttEnable" type="checkbox" name="mqtt" value="true" ${config.mqtt}/> Enable</label>
|
||||
<div class="row">
|
||||
<div class="col-xl-4 col-lg-5 col-md-6">
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<form method="post" action="/save">
|
||||
<input type="hidden" name="authConfig" value="true"/>
|
||||
<div class="my-3 p-3 bg-white rounded shadow">
|
||||
<h6>Web</h6>
|
||||
<div class="row">
|
||||
<div class="col-xl-3 col-lg-4 col-md-7">
|
||||
<div class="m-2 input-group input-group-sm">
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<form method="post" action="/save">
|
||||
<input type="hidden" name="wifiConfig" value="true"/>
|
||||
<div class="my-3 p-3 bg-white rounded shadow">
|
||||
<h6>WiFi</h6>
|
||||
<div class="row">
|
||||
<div class="col-xl-3 col-md-6 form-group">
|
||||
<div class="input-group input-group-sm">
|
||||
|
||||
72
web/entsoe.html
Normal file
72
web/entsoe.html
Normal file
@@ -0,0 +1,72 @@
|
||||
<form method="post" action="/save">
|
||||
<input type="hidden" name="entsoeConfig" value="true"/>
|
||||
<div class="my-3 p-3 bg-white rounded shadow">
|
||||
<h6>ENTSO-E API</h6>
|
||||
<div class="row">
|
||||
<div class="col-xl-4 col-lg-6 col-md-8">
|
||||
<div class="m-2 input-group input-group-sm">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Token</span>
|
||||
</div>
|
||||
<input type="text" name="entsoeApiToken" class="form-control" value="${config.entsoeApiToken}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6">
|
||||
<div class="m-2 input-group input-group-sm">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Region</span>
|
||||
</div>
|
||||
<select name="entsoeApiArea" class="form-control">
|
||||
<optgroup label="Norway">
|
||||
<option value="10YNO-1--------2" ${config.entsoeApiAreaNo1}>NO1</option>
|
||||
<option value="10YNO-2--------T" ${config.entsoeApiAreaNo2}>NO2</option>
|
||||
<option value="10YNO-3--------J" ${config.entsoeApiAreaNo3}>NO3</option>
|
||||
<option value="10YNO-4--------9" ${config.entsoeApiAreaNo4}>NO4</option>
|
||||
<option value="10Y1001A1001A48H" ${config.entsoeApiAreaNo5}>NO5</option>
|
||||
</optgroup>
|
||||
<optgroup label="Sweden">
|
||||
<option value="10Y1001A1001A44P" ${config.entsoeApiAreaSe1}>SE1</option>
|
||||
<option value="10Y1001A1001A45N" ${config.entsoeApiAreaSe2}>SE2</option>
|
||||
<option value="10Y1001A1001A46L" ${config.entsoeApiAreaSe3}>SE3</option>
|
||||
<option value="10Y1001A1001A47J" ${config.entsoeApiAreaSe4}>SE4</option>
|
||||
</optgroup>
|
||||
<optgroup label="Denmark">
|
||||
<option value="10YDK-1--------W" ${config.entsoeApiAreaDk1}>DK1</option>
|
||||
<option value="10YDK-2--------M" ${config.entsoeApiAreaDk2}>DK2</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6">
|
||||
<div class="m-2 input-group input-group-sm">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Currency</span>
|
||||
</div>
|
||||
<select name="entsoeApiCurrency" class="form-control">
|
||||
<option value="NOK" ${config.entsoeApiCurrencyNOK}>NOK</option>
|
||||
<option value="SEK" ${config.entsoeApiCurrencySEK}>SEK</option>
|
||||
<option value="DKK" ${config.entsoeApiCurrencyDKK}>DKK</option>
|
||||
<option value="EUR" ${config.entsoeApiCurrencyEUR}>EUR</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-2 col-lg-3 col-md-4 col-sm-6">
|
||||
<div class="m-2 input-group input-group-sm">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">Multiplier</span>
|
||||
</div>
|
||||
<input name="entsoeApiMultiplier" type="number" min="0.001" max="1000" step="0.001" class="form-control" value="${config.entsoeApiMultiplier}"/>
|
||||
</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>
|
||||
@@ -56,26 +56,27 @@
|
||||
<li class="nav-item">
|
||||
<a id="config-temp-link" class="nav-link" href="/temperature">Temp<span class="d-none d-sm-inline">erature</span></a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a id="config-price-link" class="nav-link" href="/price"><span class="d-none d-sm-inline">Energy</span> Price</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a id="config-meter-link" class="nav-link" href="/config-meter">Meter</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a id="config-wifi-link" class="nav-link" href="/config-wifi">WiFi</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a id="config-mqtt-link" class="nav-link" href="/config-mqtt">MQTT</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<div class="dropdown">
|
||||
<a class="dropdown-toggle nav-link" href="#" role="button" id="config-system-link" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
System
|
||||
Configure
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu" aria-labelledby="config-system-link">
|
||||
<a class="dropdown-item" href="/config-wifi">WiFi</a>
|
||||
<a class="dropdown-item" href="/config-mqtt">MQTT</a>
|
||||
<a class="dropdown-item" href="/config-web">Web</a>
|
||||
<a class="dropdown-item" href="/ntp">NTP</a>
|
||||
<a class="dropdown-item" href="/gpio">GPIO</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item" href="/config-entsoe">ENTSO-E API</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item" href="/debugging">Debugging</a>
|
||||
<a class="dropdown-item" href="/firmware">Firmware</a>
|
||||
<a class="dropdown-item text-danger" href="/reset">Factory reset</a>
|
||||
|
||||
148
web/price.html
Normal file
148
web/price.html
Normal file
@@ -0,0 +1,148 @@
|
||||
<div id="sensors" class="my-3 p-3 bg-white rounded shadow">
|
||||
<div class="row">
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time0}</div>
|
||||
<div class="col-6">${price0}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time1}</div>
|
||||
<div class="col-6">${price1}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time2}</div>
|
||||
<div class="col-6">${price2}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time3}</div>
|
||||
<div class="col-6">${price3}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time4}</div>
|
||||
<div class="col-6">${price4}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time5}</div>
|
||||
<div class="col-6">${price5}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time6}</div>
|
||||
<div class="col-6">${price6}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time7}</div>
|
||||
<div class="col-6">${price7}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time8}</div>
|
||||
<div class="col-6">${price8}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time9}</div>
|
||||
<div class="col-6">${price9}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time10}</div>
|
||||
<div class="col-6">${price10}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time11}</div>
|
||||
<div class="col-6">${price11}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time12}</div>
|
||||
<div class="col-6">${price12}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time13}</div>
|
||||
<div class="col-6">${price13}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time14}</div>
|
||||
<div class="col-6">${price14}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time15}</div>
|
||||
<div class="col-6">${price15}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time16}</div>
|
||||
<div class="col-6">${price16}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time17}</div>
|
||||
<div class="col-6">${price17}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time18}</div>
|
||||
<div class="col-6">${price18}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time19}</div>
|
||||
<div class="col-6">${price19}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time20}</div>
|
||||
<div class="col-6">${price20}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time21}</div>
|
||||
<div class="col-6">${price21}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time22}</div>
|
||||
<div class="col-6">${price22}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2 col-md-3 col-sm-4">
|
||||
<div class="row">
|
||||
<div class="col-6 text-right">${time23}</div>
|
||||
<div class="col-6">${price23}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user