Browse Source

Add files via upload

Configuration added for SML/OBIS
pull/1080/head
oberfritze 2 years ago
committed by GitHub
parent
commit
55337a44fd
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 17
      src/web/html/setup.html
  2. 50
      src/web/html/visualization.html

17
src/web/html/setup.html

@ -265,6 +265,18 @@
</fieldset> </fieldset>
</div> </div>
<button type="button" class="s_collapsible">Smart Meter (OBIS)</button>
<div class="s_content">
<fieldset class="mb-4">
<legend class="des mx-2">Smart Meter (OBIS)</legend>
<div class="row mb-3">
<div class="col-8 col-sm-3">IR Sensor via UART0</div>
<div class="col-4 col-sm-9"><input type="checkbox" name="irEn"/></div>
<div class="col-8 col-sm-3">(empty browser cache or use CTRL + F5 after reboot to apply this setting)</div>
</div>
</fieldset>
</div>
<div class="row mb-4 mt-4"> <div class="row mb-4 mt-4">
<div class="col-8 col-sm-3">Reboot device after successful save</div> <div class="col-8 col-sm-3">Reboot device after successful save</div>
<div class="col-4 col-sm-9"> <div class="col-4 col-sm-9">
@ -784,6 +796,10 @@
} }
} }
function parseSML(obj) {
document.getElementsByName("irEn")[0].checked = obj["show_grid_data"];
}
function parse(root) { function parse(root) {
if(null != root) { if(null != root) {
parseSys(root["system"]); parseSys(root["system"]);
@ -796,6 +812,7 @@
parseRadio(root["radio"]); parseRadio(root["radio"]);
parseSerial(root["serial"]); parseSerial(root["serial"]);
parseDisplay(root["display"], root["system"]["esp_type"], root["system"]); parseDisplay(root["display"], root["system"]["esp_type"], root["system"]);
parseSML(root["sml_obis"]);
getAjax("/api/inverter/list", parseIv); getAjax("/api/inverter/list", parseIv);
} }
} }

50
src/web/html/visualization.html

@ -20,7 +20,7 @@
<div id="wrapper"> <div id="wrapper">
<div id="content"> <div id="content">
<div id="live"></div> <div id="live"></div>
<div id="powerchart"></div> <div id="powerchart">Please find a charting library with a suitable license model.</div>
<p>Every <span id="refresh"></span> seconds the values are updated</p> <p>Every <span id="refresh"></span> seconds the values are updated</p>
</div> </div>
</div> </div>
@ -128,26 +128,26 @@
numBig(obj.ch[0][6], "kWh", "Yield Total") numBig(obj.ch[0][6], "kWh", "Yield Total")
]), ]),
ml("div", {class: "hr"}), ml("div", {class: "hr"}),
obj["grid_power"] ? (obj["grid_power"] === undefined) ?
ml("div", {class: "row mt-2"},[ ml("div", {class: "row mt-2"},[
numMid(obj.ch[0][8], "W", "DC Power"), numMid(obj.ch[0][8], "W", "DC Power"),
numMid(obj.grid_power, "W", "Grid Power"), numMid(obj.ch[0][0], "V", "Voltage"),
numMid(obj.ch[0][0], "V", "Voltage"), numMid(obj.ch[0][1], "A", "Current"),
numMid(obj.ch[0][1], "A", "Current"), numMid(obj.ch[0][3], "Hz", "Frequency"),
numMid(obj.ch[0][3], "Hz", "Frequency"), numMid(obj.ch[0][9], "%", "Efficiency"),
numMid(obj.ch[0][9], "%", "Efficiency"), numMid(obj.ch[0][10], "var", "Reactive Power"),
numMid(obj.ch[0][10], "var", "Reactive Power"), numMid(obj.ch[0][4], "", "Power Factor")
numMid(obj.ch[0][4], "", "Power Factor") ]) :
]) : ml("div", {class: "row mt-2"},[
ml("div", {class: "row mt-2"},[ numMid(obj.ch[0][8], "W", "DC Power"),
numMid(obj.ch[0][8], "W", "DC Power"), numMid(obj.grid_power, "W", "Grid Power"),
numMid(obj.ch[0][0], "V", "Voltage"), numMid(obj.ch[0][0], "V", "Voltage"),
numMid(obj.ch[0][1], "A", "Current"), numMid(obj.ch[0][1], "A", "Current"),
numMid(obj.ch[0][3], "Hz", "Frequency"), numMid(obj.ch[0][3], "Hz", "Frequency"),
numMid(obj.ch[0][9], "%", "Efficiency"), numMid(obj.ch[0][9], "%", "Efficiency"),
numMid(obj.ch[0][10], "var", "Reactive Power"), numMid(obj.ch[0][10], "var", "Reactive Power"),
numMid(obj.ch[0][4], "", "Power Factor") numMid(obj.ch[0][4], "", "Power Factor")
]) ])
]) ])
]) ])
); );
@ -266,12 +266,12 @@
document.getElementById("dyn_csv_url").innerHTML = document.baseURI.split ("\/live")[0] + "/get_chartdata/chartdata.csv"; document.getElementById("dyn_csv_url").innerHTML = document.baseURI.split ("\/live")[0] + "/get_chartdata/chartdata.csv";
document.getElementById("refresh").innerHTML = obj["refresh"]; document.getElementById("refresh").innerHTML = obj["refresh"];
if (obj["grid_power"]) { if (obj["grid_power"] === undefined) {
document.getElementById("chart_title").innerHTML = "Solar and Grid Power during Daylight";
document.getElementById("yaxis_grid_power_title").innerHTML = "Grid Power in W";
} else {
document.getElementById("chart_title").innerHTML = "Solar Power during Daylight"; document.getElementById("chart_title").innerHTML = "Solar Power during Daylight";
document.getElementById("yaxis_grid_power_title").innerHTML = ""; document.getElementById("yaxis_grid_power_title").innerHTML = "";
} else {
document.getElementById("chart_title").innerHTML = "Solar and Grid Power during Daylight";
document.getElementById("yaxis_grid_power_title").innerHTML = "Grid Power in W";
} }
window.setInterval("getAjax('/api/live', parse)", obj["refresh"] * 1000); window.setInterval("getAjax('/api/live', parse)", obj["refresh"] * 1000);
exeOnce = false; exeOnce = false;

Loading…
Cancel
Save