Debung LiTotall Delta ZwSumme ZwSummekWh iAktuell iTag iWoche iMonat iQuartal iJahr iTotall LiMQTT iArbeitsvariable iImpuls iAktuellkWh iTempTag iTempTagkWh iTagkWh iWochekWh iMonatkWh iQuartalkWh iJahrkWh iMQTT iBrennwert iTempWoche iTempWochekWh iKostenTag iKostenWoche iTempMonat iKostenMonat iKostenQuartal iTempJahr iKostenJahr iTempMonatkWh iTempQuartal iTempJahrkWh iTempQuartalkWh iArbeitsPreis iGrundGebuehr Erzeugen der Datenpunkte wenn nicht vorhanden Grunddatensätze WarmwasserHeizung.Gaszaehler.aktuellerstand WarmwasserHeizung.Gaszaehler.aktuellerstandkwh WarmwasserHeizung.Gaszaehler.arbeitspreis WarmwasserHeizung.Gaszaehler.arbeitsvariable WarmwasserHeizung.Gaszaehler.brennwert WarmwasserHeizung.Gaszaehler.gesammt WarmwasserHeizung.Gaszaehler.grundgebuer WarmwasserHeizung.Gaszaehler.impuls WarmwasserHeizung.Gaszaehler.zaeheleroffset Datenpunkte zur Berechnung Verbrauch in kWh WarmwasserHeizung.Gaszaehler.verbrauch.kWh.temp.jahr WarmwasserHeizung.Gaszaehler.verbrauch.kWh.temp.monat WarmwasserHeizung.Gaszaehler.verbrauch.kWh.temp.quartal WarmwasserHeizung.Gaszaehler.verbrauch.kWh.temp.tag WarmwasserHeizung.Gaszaehler.verbrauch.kWh.temp.woche WarmwasserHeizung.Gaszaehler.verbrauch.kWh.jahr WarmwasserHeizung.Gaszaehler.verbrauch.kWh.monat WarmwasserHeizung.Gaszaehler.verbrauch.kWh.quartal WarmwasserHeizung.Gaszaehler.verbrauch.kWh.tag WarmwasserHeizung.Gaszaehler.verbrauch.kWh.woche Datenpunkte zur Berechnung Verbrauch in m³ WarmwasserHeizung.Gaszaehler.verbrauch.m3.temp.jahr WarmwasserHeizung.Gaszaehler.verbrauch.m3.temp.monat WarmwasserHeizung.Gaszaehler.verbrauch.m3.temp.quartal WarmwasserHeizung.Gaszaehler.verbrauch.m3.temp.tag WarmwasserHeizung.Gaszaehler.verbrauch.m3.temp.woche WarmwasserHeizung.Gaszaehler.verbrauch.m3.jahr WarmwasserHeizung.Gaszaehler.verbrauch.m3.monat WarmwasserHeizung.Gaszaehler.verbrauch.m3.quartal WarmwasserHeizung.Gaszaehler.verbrauch.m3.tag WarmwasserHeizung.Gaszaehler.verbrauch.m3.woche Datenpunkte zur Berechnung Kosten WarmwasserHeizung.Gaszaehler.kosten.jahr WarmwasserHeizung.Gaszaehler.kosten.monat WarmwasserHeizung.Gaszaehler.kosten.quartal WarmwasserHeizung.Gaszaehler.kosten.tag WarmwasserHeizung.Gaszaehler.kosten.woche HIer bitte die Datenpunkte ersetzten wenn nicht über Skript erstellt worden ist und Datenpunkt des iZaehlerTotal ändern! Allgemeine Variablen iMQTT mqtt.0.ESP.Schaltschrank.Gaszaehler.Total iTotall javascript.0.WarmwasserHeizung.Gaszaehler.gesammt iArbeitsvariable javascript.0.WarmwasserHeizung.Gaszaehler.arbeitsvariable iAktuell javascript.0.WarmwasserHeizung.Gaszaehler.aktuellerstand iAktuellkWh javascript.0.WarmwasserHeizung.Gaszaehler.aktuellerstandkwh iImpuls val javascript.0.WarmwasserHeizung.Gaszaehler.impuls iBrennwert val javascript.0.WarmwasserHeizung.Gaszaehler.brennwert iGrundGebuehr val javascript.0.WarmwasserHeizung.Gaszaehler.grundgebuer iArbeitsPreis val javascript.0.WarmwasserHeizung.Gaszaehler.arbeitspreis Zeitvariablen für persistente Speicherung (Datenpunkte werden per SQL Adapter geloggt) iTag javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.m3.tag iWoche javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.m3.tag iMonat javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.m3.tag iQuartal javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.m3.tag iJahr javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.m3.tag kWh iTagkWh javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.kWh.tag iWochekWh javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.kWh.tag iMonatkWh javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.kWh.tag iQuartalkWh javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.kWh.tag iJahrkWh javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.kWh.tag Zeitvariablen für temporäre Speicherung (Datenpunkte werden per Schedule und Funktion jeweils genullt) iTempTag javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.m3.temp.tag iTempWoche javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.m3.temp.woche iTempMonat javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.m3.temp.monat iTempQuartal javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.m3.temp.quartal iTempJahr javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.m3.temp.jahr kWh iTempTagkWh javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.kWh.temp.tag iTempWochekWh javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.kWh.temp.woche iTempMonatkWh javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.kWh.temp.monat iTempQuartalkWh javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.kWh.temp.quartal iTempJahrkWh javascript.0.WarmwasserHeizung.Gaszaehler.verbrauch.kWh.temp.jahr Variablen für Kostenrechnung iKostenTag javascript.0.WarmwasserHeizung.Gaszaehler.kosten.tag iKostenWoche javascript.0.WarmwasserHeizung.Gaszaehler.kosten.woche iKostenMonat javascript.0.WarmwasserHeizung.Gaszaehler.kosten.monat iKostenQuartal javascript.0.WarmwasserHeizung.Gaszaehler.kosten.quartal iKostenJahr javascript.0.WarmwasserHeizung.Gaszaehler.kosten.jahr Ein und Aus schalten des Logs Debung TRUE ne mqtt.0.ESP.Schaltschrank.Gaszaehler.Total 0 0 * * * 0 0 * * 1 0 0 1 * * 0 0 1 1,5,9 * 0 0 1 1 * Prüfung alt und neuer Wert von MQTT Prüfe ob der Wert im Datenpunkt größer ist als der Wert, der per MQTT reingekommen ist. Wenn ja: NodeMCU wurde vermutlich neu gestartet. Wert im Datenpunkt wird auf 0 gesetzt, damit das neue Delta was bisher angefallen ist verarbeitet werden kann. LiTotall val iTotall EQ Debung TRUE log Total in Datenpunkt (alter Wert): iTotall LiMQTT val iMQTT EQ Debung TRUE log Total vom NodeMCU per MQTT: iMQTT GT LiTotall LiMQTT false FALSE Object ID iTotall TRUE 0 0 LiTotall 0 EQ Debung TRUE log Total count genullt, da Total count über MQTT kleiner! NodeMCU vermutlich neu gestartet! Delta erzeugen Delta zwischen MQTT Total zu letztem Total im Datenpunkt Delta MINUS 1 LiMQTT 1 LiTotall false FALSE Object ID iArbeitsvariable TRUE Delta 0 EQ Debung TRUE log Total count genullt, da Total count über MQTT kleiner! NodeMCU vermutlich neu gestartet! neuer Wert Arbeitsvariable Total (MQTT) - Total Datenpunkt: Delta Zwischenrechnung Zwischenrechnung für die anschließende Aufsummierung (*1000 wegen JS Rechenschwäche - Wird später wieder aufgelöst) ZwSumme MULTIPLY 1 Delta 1 iImpuls ZwSummekWh MULTIPLY 1 ZwSumme 1 iBrennwert EQ Debung TRUE log Total count genullt, da Total count über MQTT kleiner! NodeMCU vermutlich neu gestartet! Zwischensumme: ZwSumme \n ZwSummekWh kWh Datenpunkte schreiben Neue Zählerstände wegschreiben false FALSE Object ID iAktuell TRUE 2 3.1234 ADD 1 val iAktuell 1 ZwSumme 0 false FALSE Object ID iAktuellkWh TRUE 2 3.1234 ADD 1 val iAktuellkWh 1 ZwSummekWh 0 false FALSE Object ID iTotall TRUE val iMQTT 0 EQ Debung TRUE log Total count genullt, da Total count über MQTT kleiner! NodeMCU vermutlich neu gestartet! Neuer Stand in m3: iAktuell \n Neuer Stand in kWh iAktuellkWh Datenpunkte Temp schreiben Beschreibe diese Funktion … log Total count genullt, da Total count über MQTT kleiner! NodeMCU vermutlich neu gestartet! Verbrauch in m³ der den Perioden hinzugefügt wird: false FALSE Object ID iTempTag TRUE 2 3.1234 ADD 1 val iTempTag 1 ZwSumme 0 false FALSE Object ID iTempWoche TRUE 2 3.1234 ADD 1 val iTempWoche 1 ZwSumme 0 false FALSE Object ID iTempMonat TRUE 2 3.1234 ADD 1 val iTempMonat 1 ZwSumme 0 false FALSE Object ID iTempQuartal TRUE 2 3.1234 ADD 1 val iTempQuartal 1 ZwSumme 0 false FALSE Object ID iTempJahr TRUE 2 3.1234 ADD 1 val iTempJahr 1 ZwSumme 0 Datenpunkte Temp kWh schreiben Beschreibe diese Funktion … log Total count genullt, da Total count über MQTT kleiner! NodeMCU vermutlich neu gestartet! Verbrauch in kWh der den Perioden hinzugefügt wird: false FALSE Object ID iTempTagkWh TRUE 2 3.1234 ADD 1 val iTempTagkWh 1 ZwSummekWh 0 false FALSE Object ID iTempWochekWh TRUE 2 3.1234 ADD 1 val iTempWochekWh 1 ZwSummekWh 0 false FALSE Object ID iTempMonatkWh TRUE 2 3.1234 ADD 1 val iTempMonatkWh 1 ZwSummekWh 0 false FALSE Object ID iTempQuartalkWh TRUE 2 3.1234 ADD 1 val iTempQuartalkWh 1 ZwSummekWh 0 false FALSE Object ID iTempJahrkWh TRUE 2 3.1234 ADD 1 val iTempJahrkWh 1 ZwSummekWh 0 Tag Beschreibe diese Funktion … false FALSE Object ID iTag TRUE 2 3.1234 val iTempTag 0 false FALSE Object ID iTagkWh TRUE 2 3.1234 val iTempTagkWh 0 false FALSE Object ID iKostenTag TRUE 2 3.1234 MULTIPLY 1 val iTempTagkWh 1 iArbeitsPreis 0 false FALSE Object ID iTempTag TRUE 0 0 false FALSE Object ID iTempTagkWh TRUE 0 0 Woche Beschreibe diese Funktion … false FALSE Object ID iWoche TRUE 2 3.1234 val iTempWoche 0 false FALSE Object ID iWochekWh TRUE 2 3.1234 val iTempWochekWh 0 false FALSE Object ID iKostenWoche TRUE 2 3.1234 ADD 1 MULTIPLY 1 val iTempWochekWh 1 iArbeitsPreis 1 DIVIDE 1 iGrundGebuehr 4 0 false FALSE Object ID iTempTag TRUE 0 0 false FALSE Object ID iTempTagkWh TRUE 0 0 Monat Beschreibe diese Funktion … false FALSE Object ID iMonat TRUE 2 3.1234 val iTempMonat 0 false FALSE Object ID iMonatkWh TRUE 2 3.1234 val iTempMonatkWh 0 false FALSE Object ID iKostenMonat TRUE 2 3.1234 ADD 1 MULTIPLY 1 val iTempMonatkWh 1 iArbeitsPreis 1 iGrundGebuehr 0 false FALSE Object ID iTempTag TRUE 0 0 false FALSE Object ID iTempTagkWh TRUE 0 0 Quartal Beschreibe diese Funktion … false FALSE Object ID iQuartal TRUE 2 3.1234 val iTempWoche 0 false FALSE Object ID iQuartalkWh TRUE 2 3.1234 val iTempWochekWh 0 false FALSE Object ID iKostenQuartal TRUE 2 3.1234 ADD 1 MULTIPLY 1 val iTempQuartalkWh 1 iArbeitsPreis 1 MULTIPLY 1 iGrundGebuehr 4 0 false FALSE Object ID iTempQuartal TRUE 0 0 false FALSE Object ID iTempQuartalkWh TRUE 0 0 Jahr Beschreibe diese Funktion … false FALSE Object ID iJahr TRUE 2 3.1234 val iTempJahr 0 false FALSE Object ID iJahrkWh TRUE 2 3.1234 val iTempJahrkWh 0 false FALSE Object ID iKostenJahr TRUE 2 3.1234 ADD 1 MULTIPLY 1 val iTempJahrkWh 1 iArbeitsPreis 1 MULTIPLY 1 iGrundGebuehr 12 0 false FALSE Object ID iTempJahr TRUE 0 0 false FALSE Object ID iTempJahrkWh TRUE 0 0