NEWS
[Vorlage] Stromverbrauch protokollieren - (etwas optimiert)
-
NICHT im Script eintragen sondern unter OBJEKTE! (javascript.0. - Verbrauchszaehler - Preis - Aktuell = 0.27 darunter Grundpreis= 8.0 ) oder wie dein Grundpreis eben ist.
-
Hallo Gemeinde,
hab mal wieder eine Frage wie oder wo muss ich in dem Script was einfügen, ich bekomme meine Daten über einen Pulscounter ich habe auch alles schon in Watt und kW mit einem Script umgerechnet.
bekomme aber keine Daten geliefert.
-
321 Beiträge! Puh viel zu lesen.
Ein Adapter ist noch nicht geplant für das Script oder?
Gruss
-
Hallo,
erstmal danke für das tolle script!!!
Läuft bei mir vorzüglich bis auf ein kleines Problem.
Habe als history Adapter nun zu sql gewechselt.
Seit dem gibts bei mir im log folgende Fehlermeldungen:
2018-12-06 17:23:25.771 - error: sql.0 Cannot delete DELETE FROM `iobroker`.undefined WHERE id=91 AND ts < 1512577380763;: Error: ER_NO_SUCH_TABLE: Table 'iobroker.undefined' doesn't exist 2018-12-06 17:23:25.771 - error: sql.0 Cannot delete DELETE FROM `iobroker`.undefined WHERE id=89 AND ts < 1512577380763;: Error: ER_NO_SUCH_TABLE: Table 'iobroker.undefined' doesn't exist 2018-12-06 17:23:25.772 - error: sql.0 Cannot delete DELETE FROM `iobroker`.undefined WHERE id=81 AND ts < 1512577380764;: Error: ER_NO_SUCH_TABLE: Table 'iobroker.undefined' doesn't exist 2018-12-06 17:23:25.772 - error: sql.0 Cannot delete DELETE FROM `iobroker`.undefined WHERE id=90 AND ts < 1512577380764;: Error: ER_NO_SUCH_TABLE: Table 'iobroker.undefined' doesn't exist 2018-12-06 17:23:25.772 - error: sql.0 Cannot delete DELETE FROM `iobroker`.undefined WHERE id=84 AND ts < 1512577380764;: Error: ER_NO_SUCH_TABLE: Table 'iobroker.undefined' doesn't exist 2018-12-06 17:23:25.773 - error: sql.0 Cannot delete DELETE FROM `iobroker`.undefined WHERE id=88 AND ts < 1512577380765;: Error: ER_NO_SUCH_TABLE: Table 'iobroker.undefined' doesn't exist 2018-12-06 17:23:25.773 - error: sql.0 Cannot delete DELETE FROM `iobroker`.undefined WHERE id=92 AND ts < 1512577380765;: Error: ER_NO_SUCH_TABLE: Table 'iobroker.undefined' doesn't exist 2018-12-06 17:23:25.773 - error: sql.0 Cannot delete DELETE FROM `iobroker`.undefined WHERE id=93 AND ts < 1512577380763;: Error: ER_NO_SUCH_TABLE: Table 'iobroker.undefined' doesn't exist 2018-12-06 17:23:25.775 - error: sql.0 Cannot delete DELETE FROM `iobroker`.undefined WHERE id=87 AND ts < 1512577380769;: Error: ER_NO_SUCH_TABLE: Table 'iobroker.undefined' doesn't exist
Wie bekomme ich die raus?
-
Welchen Wert von meinem Discovergy Zähler muss ich eintragen das das Script ordentlich zählt und Rechnet?
Den Aktuellen Verbrauch oder den Zählerstand?
Gruß Danyel
-
@ringdingringding:Den Aktuellen Verbrauch oder den Zählerstand? `
Zählerstand!
-
Hallo versuche grade das Script zum laufen zu bekommen… Leider werden keine Daten gelogt
Habe Sonoffs und im Einstellungsbreich habe ich diese so eingefügt:
var eigeneDatenpunkte = [ [ 'sonoff.0.ComputerGeorg.ENERGY_Today', 'Computer', 'kWh', 'kWh' ], [ 'sonoff.0.Kuehlschrank.ENERGY_Today', 'Kuehlschrank', 'kWh', 'kWh' ], [ 'sonoff.0.Spuehlmaschiene.ENERGY_Today', 'Spuehlmaschiene', 'kWh', 'kWh' ] ];
Unter Objekte wurden auch alle drei Komponenten eingefügt aber es werden keine Daten aufgezeichnet…
Habe ich was falsch gemacht, das Script sonst nicht geändert?
Edit by eric2905 : Logs, usw. bitte immer in Code- und ggf. Spoiler-Tags setzen
-
irgendwie hab ich da doch nen fehler drin!?
die kosten bleiben bei 0,20€ stehen und werden nicht mehr.
Was hab ich falsch gemacht?
Gruss
-
Nix, warte mal einen kompletten Tag ab. Die Werte kommen noch….......
-
Moinsen
Glaube irgendwas passt da nicht.
Kosten gestern 21 cent (laut Stromanbieter 2,35€)
Kosten heute um 6 Uhr 0 cent
Sollten aber eigentlich schon 0.33€ stehen
Zählerstand wird korrekt übermittelt dank dem neuen discovergy Adapter von dutchman.
Gruß
-
Zählt heute also wirklich nicht. Kosten heute immer noch auf NULL
-
@ringdingringding:Zählt heute also wirklich nicht. Kosten heute immer noch auf NULL `
Was sagt das Log dazu?
Du hast doch hoffentlich im Script erster Eintrag
// debug logging var logging = true;
auf "true" gesetzt!?
-
Da steht alle 3 sec das drin:
`2018-12-07 18:21:19.929 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: -------- Strommesser --------- 2018-12-07 18:21:19.935 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: RegExp-Funktion ausgelöst 2018-12-07 18:21:19.936 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: id: discovergy.0.60867681.Power_Total 2018-12-07 18:21:19.936 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: Name: Zählerstand Bezug Gesamt 2018-12-07 18:21:19.937 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: channel ID: discovergy.0.60867681 2018-12-07 18:21:19.938 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: channel Name: 60867681 2018-12-07 18:21:19.938 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: device ID: null 2018-12-07 18:21:19.938 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: device name: null 2018-12-07 18:21:19.938 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: neuer Wert: 809.3274061 2018-12-07 18:21:19.938 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: alter Wert: 809.3270572 2018-12-07 18:21:19.938 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: vor der Aufbereitung: Zählerstand Bezug Gesamt 2018-12-07 18:21:19.939 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: entferneDatenpunkt - rueckgabe1:Zählerstand Bezug Gesamt 2018-12-07 18:21:19.939 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: entferneDatenpunkt - rueckgabe2:Zählerstand Bezug Gesamt 2018-12-07 18:21:19.939 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: entferneDatenpunkt - rueckgabe3:Zählerstand Bezug Gesamt 2018-12-07 18:21:19.939 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: entferneDatenpunkt - rueckgabe4:ZählerstandBezugGesamt 2018-12-07 18:21:19.939 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: Es wird der Aliasname gesetzt:Stromzaehler:1.freshEnergy 2018-12-07 18:21:19.940 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: Nach der Aufbereitung: Stromzaehler:1.freshEnergy 2018-12-07 18:21:19.968 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: States in der Instanz javascript.0.Verbrauchszaehler. erstellt 2018-12-07 18:21:19.979 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: Stromkosten (Stromzaehler:1.freshEnergy) aktualisiert 2018-12-07 18:21:19.989 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: Stromverbrauch (Stromzaehler:1.freshEnergy) aktualisiert 2018-12-07 18:21:19.990 - [32minfo[39m: javascript.0 script.js.common.freshEnergy.Stromverbrauch: ------------ ENDE ------------[/code]` Alle drei sekunden wird mir der Wert von meinem Discovergy Zähler übermittelt. Gruss
-
liefert dein Zaehler den Wert wirklich mit "7" Stellen nach dem Komma ?
Und das dann noch alle 3 Sekunden!?
Da rennt sich das Script doch nen Wolf!
Bei mir kommen die Werte aller 5 min, soll ja keine Echtzeitanzeige sein!
Versuche mal den Intervall zu verlängern, eventuell einen neuen Datenpunkt anlegen wo du per cron alle 5 Minuten den Zählerstand reinschreibst und das dann als Wert für das Script nehmen?
-
Moing,
ich versuche nun schon geraume Zeit dieses Script zum Laufen zu bekommen, aber irgendwie will das nicht klappen.
Offensichtlich wurden / werden nicht alle Datenpunkte für die entsprechenden Geräte angelegt.
Wie ich es verstanden habe werden die HM-Geräte automatisch gefunden/angelegt und die bspw. Zigbee Geräte müssen unter eigene Datenpunkte eingetragen werden oder?
Dennoch bekomme ich immer folgende Fehlermeldung weil nicht alle Objekte angelegt wurden:
! ````
javascript.0 2018-12-09 00:00:00.307 warn Object "javascript.0.Verbrauchszaehler.Spuelmaschine.Kosten._Tag.Tag_8" does not exist
javascript.0 2018-12-09 00:00:00.305 warn Object "javascript.0.Verbrauchszaehler.Spuelmaschine.Verbrauch._Tag.Tag_8" does not exist
javascript.0 2018-12-09 00:00:00.305 warn at script.js.Wandtablet.Stromverbrauch_neu:157:9
javascript.0 2018-12-09 00:00:00.305 warn at schreibeZaehlerstand (script.js.Wandtablet.Stromverbrauch_neu:495:9)
javascript.0 2018-12-09 00:00:00.304 warn State "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Zaehlerstand.Tag" not found
javascript.0 2018-12-09 00:00:00.304 warn at script.js.Wandtablet.Stromverbrauch_neu:157:9
javascript.0 2018-12-09 00:00:00.304 warn at schreibeZaehlerstand (script.js.Wandtablet.Stromverbrauch_neu:495:47)
javascript.0 2018-12-09 00:00:00.303 warn getState "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Zaehlerstand.kumuliert" not found (3)
javascript.0 2018-12-09 00:00:00.303 warn at script.js.Wandtablet.Stromverbrauch_neu:155:9
javascript.0 2018-12-09 00:00:00.303 warn at resetVerbrauchUndKosten (script.js.Wandtablet.Stromverbrauch_neu:546:5)
javascript.0 2018-12-09 00:00:00.303 warn State "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch.Tag" not found
javascript.0 2018-12-09 00:00:00.302 warn at script.js.Wandtablet.Stromverbrauch_neu:155:9
javascript.0 2018-12-09 00:00:00.302 warn at resetVerbrauchUndKosten (script.js.Wandtablet.Stromverbrauch_neu:545:5)
javascript.0 2018-12-09 00:00:00.301 warn State "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten.Tag" not found
javascript.0 2018-12-09 00:00:00.301 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_1" does not exist
javascript.0 2018-12-09 00:00:00.301 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_2" does not exist
javascript.0 2018-12-09 00:00:00.301 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_3" does not exist
javascript.0 2018-12-09 00:00:00.301 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_4" does not exist
javascript.0 2018-12-09 00:00:00.301 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_5" does not exist
javascript.0 2018-12-09 00:00:00.301 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_6" does not exist
javascript.0 2018-12-09 00:00:00.301 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_7" does not exist
javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Kosten._Tag.Tag_8" does not exist
javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_1" does not exist
javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_2" does not exist
javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_3" does not exist
javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_4" does not exist
javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_5" does not exist
javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_6" does not exist
javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_7" does not exist
javascript.0 2018-12-09 00:00:00.300 warn Object "javascript.0.Verbrauchszaehler.Pumpe.Aussen.Gartenpool.OEQ.Verbrauch._Tag.Tag_8" does not exist
javascript.0 2018-12-09 00:00:00.298 warn Object "javascript.0.Verbrauchszaehler.Schaltaktor.Heizungsanlage.OEQ.Kosten._Tag.Tag_8" does not exist
javascript.0 2018-12-09 00:00:00.297 warn Object "javascript.0.Verbrauchszaehler.Schaltaktor.Heizungsanlage.OEQ.Verbrauch._Tag.Tag_8" does not exist
javascript.0 2018-12-09 00:00:00.295 warn Object "javascript.0.Verbrauchszaehler.Steckdose.HWR.Trockner.LEQ.Kosten._Tag.Tag_8" does not exist
javascript.0 2018-12-09 00:00:00.294 warn Object "javascript.0.Verbrauchszaehler.Steckdose.HWR.Trockner.LEQ.Verbrauch._Tag.Tag_8" does not exist
javascript.0 2018-12-09 00:00:00.292 warn Object "javascript.0.Verbrauchszaehler.Steckdose.HWR.Waschmaschine.LEQ0.Kosten._Tag.Tag_8" does not exist
javascript.0 2018-12-09 00:00:00.289 warn Object "javascript.0.Verbrauchszaehler.Steckdose.HWR.Waschmaschine.LEQ0.Verbrauch._Tag.Tag_8" does not existVielleicht kann mir ja jemand mal auf die Sprünge helfen was ich falsch mache
-
Offensichtlich wurden / werden nicht alle Datenpunkte für die entsprechenden Geräte angelegt. `
Datenpunkte werden erst angelegt wenn sich die erste Änderung des Zählerwertes ergeben hat!
> Wie ich es verstanden habe werden die HM-Geräte automatisch gefunden/angelegt und die bspw. Zigbee Geräte müssen unter eigene Datenpunkte eingetragen werden oder?
Da wird nichts automatisch angelegt, deine auszuwertenden Geräte musst du selbst im Config Bereich anlegen
Zeig uns doch mal deine Config?
Hier mal meine Einstellungen zum Vergleich.
// +++++++++ USER ANPASSUNGEN ++++++++++++++++++++++++ // debug logging var logging = true; // Aktivieren der History Instanz var enable_history = false; // history Instanz var instance_history = 'history.0'; // Geräte können unterschiedliche Preise haben var enable_unterschiedlichePreise = true; // Speichern der Werte in zusätzlichen Objekten. // Wenn 0, dann deaktiviert var Tag_Anzahl_Werte_in_der_Vergangenheit = 7; var Woche_Anzahl_Werte_in_der_Vergangenheit = 4; var Monat_Anzahl_Werte_in_der_Vergangenheit = 12; var Quartal_Anzahl_Werte_in_der_Vergangenheit = 4; var Jahr_Anzahl_Werte_in_der_Vergangenheit = 2; // Grundpreis einberechnen var enable_Grundpreis_einberechnen = true; var instance = '0'; var instanz = 'javascript.' + instance + '.'; // Pfad innerhalb der Instanz var pfad = 'Verbrauchszaehler.'; var default_unit = 'Wh'; var default_unit_kilo = 'kWh'; // Diese Teile werden aus den Gerätenamen entfernt var blacklist = [':1', ':2', ':3', ':4', ':5', ':6', ':7', ':8']; var AnzahlKommastellenKosten = 3; var AnzahlKommastellenVerbrauch = 3; var AnzahlKommastellenZaehlerstand = 2; var KumulierterWertIstBereitsInKilo = true; var eigeneDatenpunkte = [ // Beispiel: // ['Datenpunkt', 'Aliasname', 'Einheit kumulierter Wert', 'Einheit berechnete Werte (kilo/1000)' ], [ 'smartmeter.0.1_8_0.value'/*1 8 0 value*/, 'Bezug Haus', 'kWh', 'kWh' ], [ 'smartmeter.0.2_8_0.value'/*2 8 0 value*/, 'Einspeisung Dachs', 'kWh', 'kWh' ], [ 'smartmeter.1.1_8_0.value'/*1 8 0 value*/, 'Bezug PV', 'kWh', 'kWh' ], [ 'smartmeter.1.2_8_0.value'/*2 8 0 value*/, 'Einspeisung PV', 'kWh', 'kWh' ], [ "javascript.0.Gaszaehler.Wert"/*Gaszaehler.Wert*/, 'Gaszaehler', 'm3', 'm3' ], ];
Damit laufen seit 3 Tagen 2 "2-Richtungs E-Zähler" und der "Gaszähler" sauber drüber.
-
Ist das so richtig ? Oder stimmt da etwas nicht ?
Der Wert verändert sich nur beim Neustart von dem Skript, sonst nicht.
-
Ist das so richtig ? Oder stimmt da etwas nicht ?
Der Wert verändert sich nur beim Neustart von dem Skript, sonst nicht. `
Am Anfang muss man etwas Geduld haben, da passiert den ersten Tag nicht wirklich viel.
Am besten sieht man im Log ob was passiert. Immer wenn sich ein Zählerwert erhöht muss es in etwa so aussehen:
17:17:51.085 [info] javascript.0 script.js.common.Zählerauswertung: -------- Strommesser --------- 17:17:51.086 [info] javascript.0 script.js.common.Zählerauswertung: RegExp-Funktion ausgelöst 17:17:51.086 [info] javascript.0 script.js.common.Zählerauswertung: id: smartmeter.0.1_8_0.value 17:17:51.086 [info] javascript.0 script.js.common.Zählerauswertung: Name: 1_8_0.value 17:17:51.086 [info] javascript.0 script.js.common.Zählerauswertung: channel ID: smartmeter.0.1_8_0 17:17:51.086 [info] javascript.0 script.js.common.Zählerauswertung: channel Name: 17:17:51.086 [info] javascript.0 script.js.common.Zählerauswertung: device ID: null 17:17:51.086 [info] javascript.0 script.js.common.Zählerauswertung: device name: null 17:17:51.086 [info] javascript.0 script.js.common.Zählerauswertung: neuer Wert: 51185.1 17:17:51.086 [info] javascript.0 script.js.common.Zählerauswertung: alter Wert: 51185 17:17:51.086 [info] javascript.0 script.js.common.Zählerauswertung: vor der Aufbereitung: 1_8_0.value 17:17:51.086 [info] javascript.0 script.js.common.Zählerauswertung: entferneDatenpunkt - rueckgabe1:1_8_0.value 17:17:51.086 [info] javascript.0 script.js.common.Zählerauswertung: entferneDatenpunkt - rueckgabe2:1_8_0.value 17:17:51.087 [info] javascript.0 script.js.common.Zählerauswertung: entferneDatenpunkt - rueckgabe3:1_8_0.value 17:17:51.087 [info] javascript.0 script.js.common.Zählerauswertung: entferneDatenpunkt - rueckgabe4:1_8_0.value 17:17:51.087 [info] javascript.0 script.js.common.Zählerauswertung: Es wird der Aliasname gesetzt:Bezug Haus 17:17:51.087 [info] javascript.0 script.js.common.Zählerauswertung: Nach der Aufbereitung: Bezug Haus 17:17:51.087 [info] javascript.0 script.js.common.Zählerauswertung: States in der Instanz javascript.0.Verbrauchszaehler. erstellt 17:17:51.087 [info] javascript.0 script.js.common.Zählerauswertung: Das Gerät:Bezug Haus hat eigenen Strompreis: 0.2349 17:17:51.087 [info] javascript.0 script.js.common.Zählerauswertung: Das Gerät:Bezug Haus hat eigenen Grundpreis: 6.82 17:17:51.088 [info] javascript.0 script.js.common.Zählerauswertung: Stromkosten (Bezug Haus) aktualisiert 17:17:51.088 [info] javascript.0 script.js.common.Zählerauswertung: Stromverbrauch (Bezug Haus) aktualisiert 17:17:51.088 [info] javascript.0 script.js.common.Zählerauswertung: ------------ ENDE ------------
Hier kannst du eigentlich deutlich sehen das die Daten erfasst und verarbeitet werden.
Und spätestens den 2.Tag solltest du auch Einträge in deinen Datenpunkten finden!
-
Ok super, dann warte ich mal.
Wie liest du deinen 2 Richtungszähler denn aus ?
-
Ok super, dann warte ich mal.
Wie liest du deinen 2 Richtungszähler denn aus ? `
Leseköpfe von Volkszähler https://wiki.volkszaehler.org/hardware/ … sb-ausgang
und dann je eine Instanz des Smartmeter Moduls auf einem Raspi im Multihost Modus.