UNPKG

node-red-contrib-discovergy-meter

Version:

Allows to work with a Discovergy Smart Meter (Electricity only) within Node RED flows

1 lines 7.93 kB
$(document).ready((function(){let t=!0,e="last24h",i=9999,n=9999,s=-1;void 0!==$.getUrlVar("reset")&&window.localStorage.removeItem("msg"),void 0!==$.getUrlVar("s")?(e=$.getUrlVar("s"),"last24h"==e&&$("#selectorLabel").html("Die letzten 24 Stunden"),"last7d"==e&&$("#selectorLabel").html("Die letzten 7 Tage"),"last30d"==e&&$("#selectorLabel").html("Die letzten 30 Tage"),"last365d"==e&&$("#selectorLabel").html("Die letzten 365 Tage")):$("#selectorLabel").html("Die letzten 24 Stunden");const a=function(){if(void 0!==window.localStorage.getItem("msg")&&null!==window.localStorage.getItem("msg")){let a=JSON.parse(window.localStorage.getItem("msg"));i!==a.stats[e].energyPrice_kwh&&(9999!==i&&(i<a.stats[e].energyPrice_kwh&&($("#priceUp").show(),$("#priceDown").hide(),$("#energyPrice_kwh").addClass("corrently_orange"),$("#energyPrice_kwh").removeClass("corrently_green")),i>a.stats[e].energyPrice_kwh&&($("#priceUp").hide(),$("#priceDown").show(),$("#energyPrice_kwh").removeClass("corrently_orange"),$("#energyPrice_kwh").addClass("corrently_green"))),i=a.stats[e].energyPrice_kwh),n!==a.stats[e].incomeSaldo&&(9999!==n&&(n<a.stats[e].incomeSaldo&&($("#costDown").show(),$("#costUp").hide(),$("#incomeSaldo").addClass("corrently_green"),$("#incomeSaldo").removeClass("corrently_orange")),n>a.stats[e].incomeSaldo&&($("#costDown").hide(),$("#costUp").show(),$("#incomeSaldo").addClass("corrently_orange"),$("#incomeSaldo").removeClass("corrently_green"))),n=a.stats[e].incomeSaldo),$("#energyPrice_kwh").html((100*a.stats[e].energyPrice_kwh).toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#last24h").html((100*a.stats.last24h.energyPrice_kwh).toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#last7d").html((100*a.stats.last7d.energyPrice_kwh).toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#last30d").html((100*a.stats.last30d.energyPrice_kwh).toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#last365d").html((100*a.stats.last365d.energyPrice_kwh).toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$(".updateTS").html(new Date(a.time).toLocaleString()),$("#e24h").html(a.stats.last24h.energyRevenue.toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#e7d").html(a.stats.last7d.energyRevenue.toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#e30d").html(a.stats.last30d.energyRevenue.toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#e365d").html(a.stats.last365d.energyRevenue.toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#a24h").html(a.stats.last24h.energySpendings.toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#a7d").html(a.stats.last7d.energySpendings.toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#a30d").html(a.stats.last30d.energySpendings.toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#a365d").html(a.stats.last365d.energySpendings.toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#incomeSaldo").html((-1*a.stats[e].incomeSaldo).toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#s24h").html((-1*a.stats.last24h.incomeSaldo).toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#s7d").html((-1*a.stats.last7d.incomeSaldo).toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#s30d").html((-1*a.stats.last30d.incomeSaldo).toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),$("#s365d").html((-1*a.stats.last365d.incomeSaldo).toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})),document.title=(100*a.stats[e].energyPrice_kwh).toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})+"/kWh "+(-1*a.stats[e].incomeSaldo).toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})+"/Tag";let o=$("#einnahmenChart"),r=[],l=[];r.push(a.stats[e].energySavingsSelf),l.push("Eigenstrom"),r.push(a.stats[e].energyIncome),l.push("Einspeisung"),r.push(a.stats[e].correntlyIncome),l.push("Corrently Erzeugung");new Chart(o,{type:"doughnut",data:{datasets:[{label:"Einnahmen Verteilung",data:r,backgroundColor:["#006c32","#318b4e","#86df9b"]}],labels:l},options:{responsive:!0,legend:{position:"right"},plugins:{datalabels:{display:!0,color:"#000000",formatter:function(t,i){return(t/a.stats[e].energyRevenue*100).toFixed(1).replace(".",",")+"%"}}},title:{display:!1,text:""},animation:{animateScale:t,animateRotate:t},tooltips:{enabled:!0,mode:"single",callbacks:{label:function(t,e){return l[t.index]+": "+e.datasets[0].data[t.index]+"€"}}},elements:{center:{text:a.stats[e].energyRevenue.toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2}),color:"#006C32",fontStyle:"Arial",sidePadding:20,minFontSize:20,lineHeight:25}}}});let m=$("#ausgabenChart"),g=[],d=[];g.push(a.stats[e].energyCost),d.push("Strombezug"),g.push(a.stats[e].amortization),d.push("Abschreibung"),g.push(a.stats[e].baseCosts),d.push("Grundgebühr");new Chart(m,{type:"doughnut",data:{datasets:[{label:"Ausgaben Verteilung",data:g,backgroundColor:["#FFA700","#FF8922","#FFF6E4"]}],labels:d},options:{responsive:!0,legend:{position:"left"},plugins:{datalabels:{display:!0,color:"#000000",formatter:function(t,i){return(t/a.stats[e].energySpendings*100).toFixed(1).replace(".",",")+"%"}}},title:{display:!1,text:""},animation:{animateScale:t,animateRotate:t},tooltips:{enabled:!0,mode:"single",callbacks:{label:function(t,e){return d[t.index]+": "+e.datasets[0].data[t.index]+"€"}}},elements:{center:{text:a.stats[e].energySpendings.toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2}),color:"#FFA700",fontStyle:"Arial",sidePadding:20,minFontSize:20}}}});t&&setTimeout((function(){$("#info").addClass("show")}),2e3),t=!1;let c=a.stats[e].consumption_wh*a.meterinfo.energyPriceWh+a.stats[e].baseCosts,u=Math.round(1e4*(1- -1*a.stats[e].incomeSaldo/c))/100;s<(new Date).getTime()-6e4&&(window.swiper.removeAllSlides(),window.swiper.appendSlide('<div class="blog-slider__item swiper-slide"><div class="blog-slider__content"><div class="blog-slider__title"><i class="fa fa-info-circle" style=" margin-right: 10px;"></i>Ausgaben</div><div class="blog-slider__text" id="info0"><strong>'+Math.round(a.stats[e].energyCost/a.stats[e].energySpendings*100)+"%</strong> der Kosten von "+a.stats[e].energySpendings.toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})+"€ für die Stromversorgung sind variabel, d.h. können durch den Verbrauch unmittelbar beeinflusst werden.</div></div></div>"),window.swiper.appendSlide('<div class="blog-slider__item swiper-slide"><div class="blog-slider__content"><div class="blog-slider__title"><i class="fa fa-wrench" style=" margin-right: 10px;"></i>Einnahmen</div><div class="blog-slider__text" id="info1">Steigere den Netzbezug zu Zeiten mit hohen Werten des GrünstromIndex, um die Erträge aus Corrently Erzeugung von derzeit <strong>'+a.stats[e].correntlyIncome.toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2})+"€</strong> zu eröhen.</div></div></div>"),window.swiper.appendSlide('<div class="blog-slider__item swiper-slide"><div class="blog-slider__content"><div class="blog-slider__title"><i class="fa fa-tachometer" style=" margin-right: 10px;"></i>Ersparnis</div><div class="blog-slider__text" id="info1"><strong>'+u.toLocaleString("de-DE",{minimumFractionDigits:0,maximumFractionDigits:2})+"%</strong> im Vergleich zu einem Anschluss ohne eigene Erzeugung, Speicher oder Corrently GrünstromBonus.</div></div></div>"),s=(new Date).getTime())}},o=function(){$.getJSON("/msg",(function(t){window.localStorage.setItem("msg",JSON.stringify(t)),a()}))};a(),setInterval(o,1e4),o()}));