Skip to content

Commit 960b477

Browse files
author
Lutz Bender
committed
toggle display of total inverter yields
1 parent b48c474 commit 960b477

File tree

2 files changed

+90
-86
lines changed

2 files changed

+90
-86
lines changed

web/status/processAllMqttMsg.js

Lines changed: 87 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function getIndex(topic) {
2525
// since this is supposed to be the index like in openwb/lp/4/w
2626
// no lookbehind supported by safari, so workaround with replace needed
2727
var index = topic.match(/(?:\/)([0-9]+)(?=\/)/g)[0].replace(/[^0-9]+/g, '');
28-
if ( typeof index === 'undefined' ) {
28+
if (typeof index === 'undefined') {
2929
index = '';
3030
}
3131
return index;
@@ -34,35 +34,35 @@ function getIndex(topic) {
3434
function handlevar(mqttmsg, mqttpayload) {
3535
// receives all messages and calls respective function to process them
3636
processPreloader(mqttmsg);
37-
if ( mqttmsg.match( /^openwb\/lp\//i) ) {
37+
if (mqttmsg.match(/^openwb\/lp\//i)) {
3838
processLpMsg(mqttmsg, mqttpayload);
3939
}
40-
else if ( mqttmsg.match( /^openwb\/evu\//i) ) {
40+
else if (mqttmsg.match(/^openwb\/evu\//i)) {
4141
processEvuMsg(mqttmsg, mqttpayload);
4242
}
43-
else if ( mqttmsg.match( /^openwb\/pv\//i) ) {
43+
else if (mqttmsg.match(/^openwb\/pv\//i)) {
4444
processPvMsg(mqttmsg, mqttpayload);
4545
}
46-
else if ( mqttmsg.match( /^openwb\/Verbraucher\//i) ) {
46+
else if (mqttmsg.match(/^openwb\/Verbraucher\//i)) {
4747
processVerbraucherMsg(mqttmsg, mqttpayload);
4848
}
49-
else if ( mqttmsg.match( /^openwb\/housebattery\//i) ) {
49+
else if (mqttmsg.match(/^openwb\/housebattery\//i)) {
5050
processBatMsg(mqttmsg, mqttpayload);
5151
}
52-
else if ( mqttmsg.match( /^openwb\/SmartHome\//i) ) {
52+
else if (mqttmsg.match(/^openwb\/SmartHome\//i)) {
5353
processSmartHomeMsg(mqttmsg, mqttpayload);
5454
}
55-
56-
else if ( mqttmsg.match( /^openwb\/global\//i) ) {
55+
56+
else if (mqttmsg.match(/^openwb\/global\//i)) {
5757
processGlobalMsg(mqttmsg, mqttpayload);
5858
}
5959
else {
60-
console.log("Unknown topic: "+mqttmsg+": "+mqttpayload);
60+
console.log("Unknown topic: " + mqttmsg + ": " + mqttpayload);
6161
}
6262
} // end handlevar
6363

64-
function processGlobalMsg (mqttmsg, mqttpayload) {
65-
switch(mqttmsg){
64+
function processGlobalMsg(mqttmsg, mqttpayload) {
65+
switch (mqttmsg) {
6666
case "openWB/global/WAllChargePoints":
6767
directShow(mqttpayload, '#ladeleistungAll');
6868
break;
@@ -74,8 +74,8 @@ function processGlobalMsg (mqttmsg, mqttpayload) {
7474
}
7575
}
7676

77-
function processEvuMsg (mqttmsg, mqttpayload) {
78-
switch(mqttmsg){
77+
function processEvuMsg(mqttmsg, mqttpayload) {
78+
switch (mqttmsg) {
7979
case "openWB/evu/ASchieflast":
8080
directShow(mqttpayload, '#schieflastdiv');
8181
break;
@@ -136,16 +136,13 @@ function processEvuMsg (mqttmsg, mqttpayload) {
136136
}
137137
}
138138

139-
function processPvMsg (mqttmsg, mqttpayload) {
140-
if ( mqttmsg.match(/^openWB\/pv\/[0-9]+\/.*$/i) )
141-
{
139+
function processPvMsg(mqttmsg, mqttpayload) {
140+
if (mqttmsg.match(/^openWB\/pv\/[0-9]+\/.*$/i)) {
142141
var index = getIndex(mqttmsg); // extract number between two / /
143-
if ( mqttmsg.match(/^openWB\/pv\/[0-9]+\/W$/i) )
144-
{
142+
if (mqttmsg.match(/^openWB\/pv\/[0-9]+\/W$/i)) {
145143
absShow(mqttpayload, '#inverter' + index + ' .powerInverter');
146144
}
147-
else if ( mqttmsg.match(/^openWB\/pv\/[0-9]+\/WhCounter$/i) )
148-
{
145+
else if (mqttmsg.match(/^openWB\/pv\/[0-9]+\/WhCounter$/i)) {
149146
kShow(mqttpayload, '#inverter' + index + ' .yieldInverter');
150147
}
151148
// no data in openWB 1.x
@@ -161,21 +158,18 @@ function processPvMsg (mqttmsg, mqttpayload) {
161158
// {
162159
// fractionDigitsShow(mqttpayload, '#inverter' + index + ' .yYieldInverter');
163160
// }
164-
else if ( mqttmsg.match(/^openWB\/pv\/[0-9]+\/faultState$/i) )
165-
{
161+
else if (mqttmsg.match(/^openWB\/pv\/[0-9]+\/faultState$/i)) {
166162
setWarningLevel(mqttpayload, '#inverter' + index + ' .faultStrPvRow');
167163
}
168-
else if ( mqttmsg.match(/^openWB\/pv\/[0-9]+\/faultStr$/i) )
169-
{
164+
else if (mqttmsg.match(/^openWB\/pv\/[0-9]+\/faultStr$/i)) {
170165
textShow(formatJsonString(mqttpayload), '#inverter' + index + ' .faultStrPv');
171166
}
172-
else if ( mqttmsg.match(/^openWB\/pv\/[0-9]+\/boolPVConfigured$/i) )
173-
{
167+
else if (mqttmsg.match(/^openWB\/pv\/[0-9]+\/boolPVConfigured$/i)) {
174168
visibilityCard('#inverter' + index, mqttpayload);
175169
}
176170
}
177171
else {
178-
switch(mqttmsg){
172+
switch (mqttmsg) {
179173
case "openWB/pv/CounterTillStartPvCharging":
180174
directShow(mqttpayload, '#pvcounterdiv');
181175
break;
@@ -190,16 +184,26 @@ function processPvMsg (mqttmsg, mqttpayload) {
190184
break;
191185
case "openWB/pv/MonthlyYieldKwh":
192186
fractionDigitsShow(mqttpayload, '#monthly_pvkwhdiv');
187+
if (mqttpayload != "0") {
188+
showSection("#monatsertragRow");
189+
} else {
190+
hideSection("#monatsertragRow");
191+
}
193192
break;
194193
case "openWB/pv/YearlyYieldKwh":
195194
fractionDigitsShow(mqttpayload, '#yearly_pvkwhdiv');
195+
if (mqttpayload != "0") {
196+
showSection("#jahresertragRow");
197+
} else {
198+
hideSection("#jahresertragRow");
199+
}
196200
break;
197201
}
198202
}
199203
}
200204

201-
function processBatMsg (mqttmsg, mqttpayload) {
202-
switch(mqttmsg){
205+
function processBatMsg(mqttmsg, mqttpayload) {
206+
switch (mqttmsg) {
203207
case "openWB/housebattery/boolHouseBatteryConfigured":
204208
visibilityCard('#speicher', mqttpayload);
205209
break;
@@ -227,8 +231,8 @@ function processBatMsg (mqttmsg, mqttpayload) {
227231
}
228232
}
229233

230-
function processSmartHomeMsg (mqttmsg, mqttpayload) {
231-
switch(mqttmsg){
234+
function processSmartHomeMsg(mqttmsg, mqttpayload) {
235+
switch (mqttmsg) {
232236
case "openWB/SmartHome/Status/maxspeicherladung":
233237
directShow(mqttpayload, '#wmaxspeicherladung');
234238
break;
@@ -247,74 +251,74 @@ function processSmartHomeMsg (mqttmsg, mqttpayload) {
247251
}
248252
}
249253

250-
function processVerbraucherMsg (mqttmsg, mqttpayload) {
254+
function processVerbraucherMsg(mqttmsg, mqttpayload) {
251255
var index = getIndex(mqttmsg); // extract number between two / /
252-
if ( mqttmsg.match( /^openwb\/Verbraucher\/[1-2]\/Configured$/i ) ) {
253-
visibilityCard('#loads'+index, mqttpayload);
256+
if (mqttmsg.match(/^openwb\/Verbraucher\/[1-2]\/Configured$/i)) {
257+
visibilityCard('#loads' + index, mqttpayload);
254258
}
255-
else if ( mqttmsg.match( /^openwb\/Verbraucher\/[1-2]\/Watt$/i ) ) {
256-
directShow(mqttpayload, '#loads'+index+' .verbraucherWatt');
259+
else if (mqttmsg.match(/^openwb\/Verbraucher\/[1-2]\/Watt$/i)) {
260+
directShow(mqttpayload, '#loads' + index + ' .verbraucherWatt');
257261
}
258-
else if ( mqttmsg.match( /^openwb\/Verbraucher\/[1-2]\/WhImported$/i ) ) {
259-
kShow(mqttpayload, '#loads'+index+' .importVerbraucher');
262+
else if (mqttmsg.match(/^openwb\/Verbraucher\/[1-2]\/WhImported$/i)) {
263+
kShow(mqttpayload, '#loads' + index + ' .importVerbraucher');
260264
}
261-
else if ( mqttmsg.match( /^openwb\/Verbraucher\/[1-2]\/WhExported$/i ) ) {
262-
kShow(mqttpayload, '#loads'+index+' .exportVerbraucher');
265+
else if (mqttmsg.match(/^openwb\/Verbraucher\/[1-2]\/WhExported$/i)) {
266+
kShow(mqttpayload, '#loads' + index + ' .exportVerbraucher');
263267
}
264268
}
265269

266-
function processLpMsg (mqttmsg, mqttpayload) {
270+
function processLpMsg(mqttmsg, mqttpayload) {
267271
var index = getIndex(mqttmsg); // extract number between two / /
268-
if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/boolChargePointConfigured$/i ) ) {
272+
if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/boolChargePointConfigured$/i)) {
269273
visibilityCard('#lp' + index, mqttpayload);
270274
}
271-
else if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/APhase1$/i ) ) {
275+
else if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/APhase1$/i)) {
272276
directShow(mqttpayload, '#lp' + index + ' .stromstaerkeP1');
273277
}
274-
else if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/APhase2$/i ) ) {
278+
else if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/APhase2$/i)) {
275279
directShow(mqttpayload, '#lp' + index + ' .stromstaerkeP2');
276280
}
277-
else if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/APhase3$/i ) ) {
281+
else if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/APhase3$/i)) {
278282
directShow(mqttpayload, '#lp' + index + ' .stromstaerkeP3');
279-
}
280-
else if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/AConfigured$/i ) ) {
283+
}
284+
else if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/AConfigured$/i)) {
281285
directShow(mqttpayload, '#lp' + index + ' .stromvorgabe');
282286
}
283-
else if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/kWhCounter$/i ) ) {
287+
else if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/kWhCounter$/i)) {
284288
fractionDigitsShow(mqttpayload, '#lp' + index + ' .kWhCounter');
285289
}
286-
else if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/VPhase1$/i ) ) {
290+
else if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/VPhase1$/i)) {
287291
directShow(mqttpayload, '#lp' + index + ' .spannungP1');
288292
}
289-
else if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/VPhase2$/i ) ) {
293+
else if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/VPhase2$/i)) {
290294
directShow(mqttpayload, '#lp' + index + ' .spannungP2');
291295
}
292-
else if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/VPhase3$/i ) ) {
296+
else if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/VPhase3$/i)) {
293297
directShow(mqttpayload, '#lp' + index + ' .spannungP3');
294298
}
295-
else if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/W$/i ) ) {
299+
else if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/W$/i)) {
296300
directShow(mqttpayload, '#lp' + index + ' .ladeleistung');
297301
}
298-
else if ( mqttmsg.match( /^openWB\/lp\/[1-9][0-9]*\/boolSocConfigured$/i )) {
299-
if( mqttpayload == "1" ){
302+
else if (mqttmsg.match(/^openWB\/lp\/[1-9][0-9]*\/boolSocConfigured$/i)) {
303+
if (mqttpayload == "1") {
300304
showSection('#lp' + index + ' .socRow');
301305
} else {
302306
hideSection('#lp' + index + ' .socRow');
303307
}
304308
}
305-
else if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/%Soc$/i ) ) {
309+
else if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/%Soc$/i)) {
306310
directShow(mqttpayload, '#lp' + index + ' .soc');
307311
}
308-
else if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/faultState$/i ) ) {
312+
else if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/faultState$/i)) {
309313
setWarningLevel(mqttpayload, '#lp' + index + ' .faultStrLpRow');
310314
}
311-
else if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/faultStr$/i ) ) {
315+
else if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/faultStr$/i)) {
312316
textShow(formatJsonString(mqttpayload), '#lp' + index + ' .faultStrLp');
313317
}
314-
else if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/socFaultState$/i ) ) {
318+
else if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/socFaultState$/i)) {
315319
setWarningLevel(mqttpayload, '#lp' + index + ' .faultStrSocLpRow');
316320
}
317-
else if ( mqttmsg.match( /^openwb\/lp\/[1-9][0-9]*\/socFaultStr$/i ) ) {
321+
else if (mqttmsg.match(/^openwb\/lp\/[1-9][0-9]*\/socFaultStr$/i)) {
318322
textShow(formatJsonString(mqttpayload), '#lp' + index + ' .faultStrSocLp');
319323
}
320324
else {
@@ -339,18 +343,18 @@ function processLpMsg (mqttmsg, mqttpayload) {
339343

340344
// don't parse value
341345
function directShow(mqttpayload, variable) {
342-
var value = parseFloat(mqttpayload);
343-
if ( isNaN(value) ) {
344-
value = 0;
345-
}
346-
var valueStr = value.toLocaleString(undefined) ;
347-
$(variable).text(valueStr);
346+
var value = parseFloat(mqttpayload);
347+
if (isNaN(value)) {
348+
value = 0;
349+
}
350+
var valueStr = value.toLocaleString(undefined);
351+
$(variable).text(valueStr);
348352
}
349353

350354
// show missing value or zero value as --
351355
function noZeroShow(mqttpayload, variable) {
352356
var value = parseFloat(mqttpayload);
353-
if ( isNaN(value) || (value == 0) ) {
357+
if (isNaN(value) || (value == 0)) {
354358
valueStr = "--";
355359
}
356360
else {
@@ -364,7 +368,7 @@ function impExpShow(mqttpayload, variable) {
364368
// zur Anzeige Wert um "Bezug"/"Einspeisung" ergänzen
365369
var value = parseInt(mqttpayload);
366370
var valueStr = Math.abs(value).toLocaleString(undefined);
367-
if(value < 0) {
371+
if (value < 0) {
368372
valueStr += " (Exp.)";
369373
} else if (value > 0) {
370374
valueStr += " (Imp.)";
@@ -376,24 +380,24 @@ function impExpShow(mqttpayload, variable) {
376380
function kShow(mqttpayload, variable) {
377381
var value = parseFloat(mqttpayload);
378382
value = (value / 1000);
379-
var valueStr = value.toLocaleString(undefined, {minimumFractionDigits: 3, maximumFractionDigits: 3}) ;
383+
var valueStr = value.toLocaleString(undefined, { minimumFractionDigits: 3, maximumFractionDigits: 3 });
380384
$(variable).text(valueStr);
381385
}
382386

383387
// show absolute value (always >0)
384388
function absShow(mqttpayload, variable) {
385389
var value = Math.abs(parseInt(mqttpayload));
386-
var valueStr = value.toLocaleString(undefined) ;
390+
var valueStr = value.toLocaleString(undefined);
387391
$(variable).text(valueStr);
388392
}
389393

390394
//show kilo-payloads with 3 fraction digits
391395
function fractionDigitsShow(mqttpayload, variable) {
392396
var value = parseFloat(mqttpayload);
393-
if ( isNaN(value) ) {
397+
if (isNaN(value)) {
394398
value = 0;
395399
}
396-
var valueStr = value.toLocaleString(undefined, {minimumFractionDigits: 3, maximumFractionDigits: 3});
400+
var valueStr = value.toLocaleString(undefined, { minimumFractionDigits: 3, maximumFractionDigits: 3 });
397401
$(variable).text(valueStr);
398402
}
399403

@@ -423,7 +427,7 @@ function setWarningLevel(mqttpayload, variable) {
423427
//Der String ist mit einem Tausender-Punkt versehen. Daher den Payload für die if-Abfrage verwenden.
424428
function visibilityMin(row, mqttpayload) {
425429
var value = parseFloat(mqttpayload) * -1;
426-
if (value>100) {
430+
if (value > 100) {
427431
showSection(row);
428432
}
429433
else {
@@ -432,15 +436,15 @@ function visibilityMin(row, mqttpayload) {
432436
}
433437

434438
//show/hide row with only one value
435-
function visibilityValue(row, variable){
439+
function visibilityValue(row, variable) {
436440
var value = parseFloat($(variable).text()); // zu Berücksichtigung von 0,00
437-
if (( value != 0) && ( $(variable).text() != "")) {
441+
if ((value != 0) && ($(variable).text() != "")) {
438442
showSection(row);
439443
}
440444
else {
441445
hideSection(row);
442446
}
443-
var valueStr = value.toLocaleString(undefined, {minimumFractionDigits: 3, maximumFractionDigits: 3});
447+
var valueStr = value.toLocaleString(undefined, { minimumFractionDigits: 3, maximumFractionDigits: 3 });
444448
$(variable).text(valueStr);
445449
}
446450

@@ -449,9 +453,9 @@ function visibilityRow(row, var1, var2, var3) {
449453
var val1 = parseFloat($(var1).text()); // zu Berücksichtigung von 0,00
450454
var val2 = parseFloat($(var2).text());
451455
var val3 = parseFloat($(var3).text());
452-
if ( ( (val1 == 0) || ($(var1).text() == "") ) &&
453-
( (val2 == 0) || ($(var2).text() == "") ) &&
454-
( (val3 == 0) || ($(var3).text() == "") ) ) {
456+
if (((val1 == 0) || ($(var1).text() == "")) &&
457+
((val2 == 0) || ($(var2).text() == "")) &&
458+
((val3 == 0) || ($(var3).text() == ""))) {
455459
hideSection(row);
456460
}
457461
else {
@@ -470,17 +474,17 @@ function visibilityCard(card, mqttpayload) {
470474
hideSection(card);
471475
} else {
472476
showSection(card);
473-
if ( (card.match( /^[#]lp[2-8]$/i)) && lpGesCardShown == false ) {
477+
if ((card.match(/^[#]lp[2-8]$/i)) && lpGesCardShown == false) {
474478
showSection('#lpges');
475479
lpGesCardShown = true;
476-
} else if ( card.match(/^[#]inverter[1-2]+$/i) ) {
477-
if ( card == "#inverter1" ) {
480+
} else if (card.match(/^[#]inverter[1-2]+$/i)) {
481+
if (card == "#inverter1") {
478482
pv1 = mqttpayload;
479483
} else {
480484
pv2 = mqttpayload;
481485
}
482486

483-
if ( (pv1 + pv2) > 0 ) {
487+
if ((pv1 + pv2) > 0) {
484488
showSection('#pvGes');
485489
} else {
486490
hideSection('#pvGes');

0 commit comments

Comments
 (0)