NEWS
Verbrauchszaehler Fehler Tag 8 / Woche 5
-
Hallo,
ich bekomme folgende Meldung im Log vom Verbrauchszaehler
ist mir das erste mal aufgefallen kann damit jemand was anfangen?
Beste Grüße
XBiT -
@XBiT irgendeines deiner Scripte versucht in Datenpunkte zu schreiben/lesen die es im ioBroker nicht gibt.
Er versucht z. B. in den Ordner "javascript.0.Verbrauchszaehler" einige Datenpunkte zu beschreiben bzw. aus diesen zu lesen.Entweder muss du diese anlegen oder das Script ändern.
-
@htrecksler
Danke für deine Info, da es sich aber um ein vorgefertigtes Script handelt sollte das nicht passieren (Es gibt ja im Monat keine 5 Wochen und in der Woche keine 8 Tage)Es Handelt sich um den Verbrauchszähler in der Version 1.3.3 von https://github.com/hdering/homematic_stromverbrauch_protokollieren
-
@XBiT sagte:
im Monat keine 5 Wochen und in der Woche keine 8 Tage
Da hat das Script wohl ein Problem mit dem Schaltjahr ?
-
Nope in Zeile 508 erzeugt er maximaler Zeitraum +1. Dort entsteht der Fehler, was nicht bedeutet das man ihn dort lösen kann.
504 for(var i = anzahl; i >= 0; i--) { //anzahl kann 7 sein var j = i j++ // 7+1 == 8
-
Das Problem hatte ich bis vor einiger Zeit auch. Mittlerweile ist es weg, ohne das ich an dem Script irgendwas gemacht hatte.
Einzig js-controller und admin Update sind in dieser Zeit passiert. Ob das was damit zu tun hat? ich weiss es nicht. -
@Linedancer
Denke nicht das es an dem update liegt.. bei mir sollte alles aktuell sein (denke ich)Admin -> 4.0.5
Script Engine ->4.4.2
JS controller -> 2.2.9
Node.js -> v10.19.0 -
@XBiT
Ändere in der Funktion rotateVerbrauchUndKosten() 504ff mal folgendes:for(var i = anzahl; i >= 0; i--) { //in for(var i = anzahl; i >= 0; --i) {
müsste 2 mal geändert werden.
Wenns nicht klappt einfach wieder zurück nehmen.
-
Danke, habe es mal geändert werde ja erst um 0:00 Uhr sehen ob es klappt, ich werde es morgen früh prüfen und mich melden. -
Guten Morgen,
leider hat die Änderung nicht zum erfolg geführt.
Meldung ist noch die gleiche. -
Ich nutze das Skript schon seit vielen Monaten, der Fehler ist schon immer vorhanden gewesen und kommt nicht von irgendwelchen Updates.
Da ich mich mit JS nicht gut auskenne, das Skript aber sonst gut läuft, habe ich einfach die Datenpunkte mit "Tag_8", "Woche_5", "Quartal_5" und "Monat_13" pro geloggten Verbraucher angelegt.
-
@XBiT
Hast du das in 504 und 523 geändert? -
Danke für die Info, mir ist der Fehler im Log erst jetzt aufgefallen deswegen dachte ich es liegt an einen Update oder Schaltjahr / Februar Problem.
ja genau da habe ich es geändert bin leider nicht so fit im JS
-
Jo hast recht. Ich benutze kein --i in for schleifen, das agiert anders als gedacht. Nimm die letzte Änderung wieder zurück und ändere:
for(var i = anzahl-1; i >= 0; i--) {
Begründung:
J und I sind die Zahlen am Ende deiner Fehlermeldung. In dieser Funktion kopiert er aktuell I7 nach J8. Mit der Änderung ist die erste Kopie I6 nach J7
-
Okay wird gemacht habe es wieder geändert...
Danke für deine Hilfe vielleicht lege ich auch einfach die Datenpunkte wie Röstkartoffel gesagt hat an und gut ist
Die Datenpunkte sind nur für die Vis da ist es nicht so wichtig.
Ich gehe aber davon aus das mit dem Fehler das ganze Script in bezug auf den Jahresverbrauch nicht stimmt da sicher Woche / Quartal 5 und Monat 13 bei der Berechnung nicht berücksichtigt werden. -
@XBiT
Dann leg die Datenpunkte an ist die einfachste Version, funktioniert sicher und stört ja niemandenEDIT: Ich denke nicht das die Werte relevant für die Berechnungen sind. Es gibt kumulierte Werte für den Zeitraum für den Preisberechnungen durchgeführt werden