Hallo
Ich benötige Hilfe mit einer Datenseite aus meinem REC-BMS.
Ich würde gerne die Werte in eine Variable speichern.
Mir fehlen aber die Fähigkeiten das umzusetzen.
Kann mir jemand helfen?
<!doctype html>
<html lang="en">
<head>
<meta name='viewport' charset="UTF-8" content='width=device-width, initial-scale=1' />
<script src='/src/jquery.min.js'></script>
<script src='/src/bootstrap.bundle.min.js'></script>
<link rel='stylesheet' type='text/css' href='/src/bootstrap.min.css'>
<link rel='stylesheet' type='text/css' href='/src/my_css.css'>
<link rel="icon" href="src/icon.png">
<script src='/src/custom_script.js'></script>
<title>REC_BMS</title>
</head>
<body>
<div id="main">
<div class='container-fluid'>
<div class='row'>
<div id="mySidenav" class="sidenav"></div>
<div class='col-1'>
<span class="openicon sticky-top" onclick="openNav()">☰</span>
</div>
<div class="col-10 text-center">
<div class='row'>
<a class="col-12" href="http://rec-bms.com/">
<img src="/src/logoREC.png" alt="REC logo" width="250" height="80"></a>
</div>
<div class="row">
<div class="col">
<h4 id="bms-name"></h4><br>
</div>
</div>
<div id="VoltTable" class='row'></div>
</div>
<div class='col-1'></div>
</div>
</div>
</div>
<script>
var reconnect_counter = 0;
var connected = 1;
var deviceInfo = new Object();
function fillInfoData(data) {
deviceInfo = data;
const lockStatus = data.login.loggedin && data.login.enabled;
createMenu("mySidenav", lockStatus);
}
$(document).ready(function () {
getInfo(fillInfoData);
var parsed_data;
if (!!window.EventSource) {
var source = new EventSource('/ws');
source.addEventListener('status', function (e) {
response = parseJSON(e.data);
createTable(
function () {
CreateVoltTable(response);
});
if (parsed_data.err.p && (parsed_data.err.num == 1 || parsed_data.err.num == 2))
if (parsed_data.vnc.bms != null || parsed_data.nnc.bms != null) {
document.getElementById("b_" + parsed_data.nnc.bms + "c_" +
parsed_data.nnc.cell).style.backgroundColor = "#F00";
document.getElementById("b_" + parsed_data.vnc.bms + "c_" +
parsed_data.vnc.cell).style.backgroundColor = "#F00";
}
}, false);
source.addEventListener('settings', function (e) {
parsed_data = parseJSON(e.data);
if (parsed_data.bms_name != "") {
if (!connected) {
$("#bms-name").html(
"<div style='color:green'>Connected!</div>");
$("#VoltTable").fadeIn();
} else
$("#bms-name").html("");
connected = 1;
} else {
connected = 0;
let dots = " ";
for (let i = 0; i < reconnect_counter % 4; i++)
dots += ". ";
reconnect_counter++;
$("#bms-name").html(
"<div style='color:red'>Connection lost<br>Reconnecting<br> " +
dots +
"</div>");
$("#VoltTable").fadeOut();
}
}, false);
}
});
</script>
</body>
</html>
Es gibt ein Logging das einmal am Tag heruntergeladen werden kann, was für eine aktuelle Beobachtung sinnlos ist.
Dort sehen die Zeilen so aus, nach „nap“ sind die zellspannungen die ich gerne loggen würde.
{"bms_array":{"master":{"time_remaining":"Full in:<br> 0h 00 min","st_naprav":1,"time":"","date":"","mincell":4.055347,"maxcell":4.084739,"ibat":29.74018,"tmax":22,"vbat":56.96735,"soc":1,"soh":0.998128,"erro":{"present":0,"addr":0,"st":0,"con_st":0},"error":""},"slave":{"0":{"address":2,"st_temp":4,"temp_bms":21.59611,"st_celic":14,"temp":{"0":22,"1":21,"2":21.5,"3":22},"res":{"0":0.000584,"1":0.000352,"2":0.0005,"3":0.000737,"4":0.000329,"5":0.00055,"6":0.00078,"7":0.00044,"8":0.000493,"9":0.000815,"10":0.000361,"11":0.000442,"12":0.000518,"13":0.000307},"nap":{"0":4.063704,"1":4.071898,"2":4.071171,"3":4.070842,"4":4.067813,"5":4.063611,"6":4.075356,"7":4.084739,"8":4.070627,"9":4.076136,"10":4.073825,"11":4.065398,"12":4.056897,"13":4.055347}}}}},