NEWS
UNSOLVED Daten zeitweise addieren
-
@mickym sagte in Daten zeitweise addieren:
@homoran Und wenn der Monat neu anfängt, geht das bei 0 los oder beim Tag oder sollen das gleitende Werte sein. ?
bei mir geht es morgens und am jeweils 1. immer wieder bei 0 los, das jahr wird am 31.12. 23:59:45 genullt
-
@homoran Ok ich überleg mir mal was.
-
Wenn du dieses Bild mit dem vom Post oben vergleichst, dann ist es verständlicher.
Es geht nicht um Vortag oder Vormonat.
Über Modbus die Daten --> Werden über ein functions node wieder gesplittet bzw. auf unterschiedliche Ausgänge gesetzt.
Ich habe nach dem function wo die activepower in W ankommt schon ein Switch eingebaut, so das er positive = imported und negative = exported Werte getrennte Wege haben.
So ist es wohl einfacher
Punkt 1 und Punkt 4 habe ich problemlos bekommen.
2 und 3 ist das große ?
Wenn ich morgens schaue, ist bei Input 0,00 dafür natürlich einiges bei Export.
Das ist auch der Grund warum ich denke das dies nur die Werte über 24 Std. sind.Uff....Bei Fragen fragen
-
@homoran
Das kene ich, ist aber alles schon soweit fertig.
Einzig die zwei Werte die mich verrückt machen.... -
@jonny-0 Ehrlich gesagt verstehe ich es nicht. Mir ist es doch erst mal egal, was das für Werte sind. Das heisst es geht Dir gar nicht darum zu kumulieren, sondern hochzurechnen.
Sprich wenn Du in der ersten Stunde des Tages 12 W positiv hast, willst Du das mal 24 rechnen, um geschätzten Tageswert zu bekommen. Je länger der Tag voranschreitet, desto genauer wird die Prognose?
Sprich man summiert einfach auf, berechnet die Zeit die am Tag vergangen ist und rechnet die verbleibende Zeit linear - also als Bruchteil der vergangenen Zeit on top?
-
@jonny-0 sagte in Daten zeitweise addieren:
Wenn ich morgens schaue, ist bei Input 0,00 dafür natürlich einiges bei Export.
Das ist auch der Grund warum ich denke das dies nur die Werte über 24 Std. sind.dann musst du doch irgendwo einstellen können wann das genullt wird.
log doch mal diese Zahlen, dann müsste um Mitternacht alle beiden auf 0 stehen -
@mickym
Nein, das ist nicht richtig, ich glaube wir reden aneinander vorbei.Ich pumpe von jetzt an konstant 1200 W in den Speicher. Sind ja 1,2 KW in einer Std.
Dann ändert sich der Wert vom Input ja alle paar Sekunden, da ja auch mit 0,00 KWh gearbeitet wird.
Rechnerisch müsste er mir ja dann jetzt hier grob gelistet anzeigen:Dauer in Min Input
5 = 0,1 KW
10 = 0,2 KW
15 = 0,3 KW usw.Jetzt entnehme ich wieder zwischendrin eine gewisse Menge (EXPORT).
Dann scheint die Sonne wieder und er wird mit 3000 KW geladen.....uswDeshalb kommen die Zahlen ja auch fast in Echtzeit.
-
@homoran
Das wäre noch eine Idee.
Muss ich zugeben das ich da nicht dran gedacht habe......Asche auf mein Haupt -
@jonny-0 OK - ist sowas wie Momentanverbrauch oder Momentaneinspeisung und das muss auf Zeiteinheit runtergerechnet werden?
-
@mickym ich hab immer noch nicht verstanden was er will!
wenn der interne Zähler um Mitternacht nullt hat man doch am Tagesende die insgesamt eingeladene und insgesamt entnommene Menge (in kWh).
was fehlt denn dann? Ladezustand ist doch auch da. die Entlade-/Ladeleistung in kW?das wäre in (blockly) (aktueller Wert-vorheriger Wert):(Timestamp-vorheriger Timestamp)
-
@homoran Ja genau verstehe ich es leider auch nicht. Ich kann mir nur vorstellen, weil ich bei den Shellies mal so ein Problem mit der internen Aufsummierung hatte, dass ich immer den Momentanverbrauch dann genommen habe und den bei jeder Meldung mit dem Zeitinterval abgeglichen hatte und diesen Wert dann aufsummiert hatte. Das war genauer. Aber wenn er das fix und fertig bekommt, warum sollte man es dann nochmal neu machen bzw. man könnte auch Zählerstände dann einfach zwischenspeichern zu definierten Zeitpunkten (Tageswechsel etc).
-
@homoran
Am Tagesende......und was ist dazwischen?
Schau dir mal den Payload im Screen an.
So kommt es aus der alten Wallbox.
Das Problem die gibt es nicht mehr lange, bzw. bringt mir nichts mehr, da man mit der nur eine PV und einen Speicher verwalten kann.
Bei der werden die Werte ja auch hochgerechnen und natürlich direkt angezeigt. -
@jonny-0 sagte in Daten zeitweise addieren:
Am Tagesende......und was ist dazwischen?
tue dir mal selbst einen Gefallen.
formuliere das gewünschte mal sorgfältig und strukturiert.
Wahrscheinlich fällt dir dann schon selber die Lösung ein.Aber mit diesen Halbsätzen hilft das einem Außenstehenden kein bischen das zu verstehen von dem du bereits alle Informationen hast, wir aber nicht
-
@mickym
So in etwa könnte es bei mir auch funktionieren.Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.
Dann sammeln wir wieder 30 sekunden, und addieren den neuen Mittelwert auf den vorigen auf.Das zusammenzählen von den Payloadwerten, habe ich realisiert, leider zählt er unendlich weiter.
Wenn ich das Ding irgendwie um 0.00 auf Neuanfang setzen könnte wäre schon das Ziel.msg.payload = (flow.get("import") || 0) + msg.payload;
//msg.payload = msg.payload ;
flow.set("import", msg.payload);
return msg; -
Sorry, ich bin leider nicht sehr gut im erklären.
vielleicht ist es durch den obigen post verständlicher.
-
@jonny-0 sagte in Daten zeitweise addieren:
ich bin leider nicht sehr gut im erklären.
das habe ich gemerkt
@jonny-0 sagte in Daten zeitweise addieren:
vielleicht ist es durch den obigen post verständlicher.
leider nein.
also schritt für Schritt:
Vielleicht versteckt sich hier etwas wichtiges
@jonny-0 sagte in Daten zeitweise addieren:Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.
was hat die Wallbox mit der Batterie zu tun?
und wovon der Mittelwert der letzten 3 Sekunden?
WENN die Batterie bereits maximal entlädt ergibt es doch keinen Sinn die gleiche Menge noch ins Auto zu laden -
@jonny-0 sagte in Daten zeitweise addieren:
@mickym
So in etwa könnte es bei mir auch funktionieren.Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.
Dann sammeln wir wieder 30 sekunden, und addieren den neuen Mittelwert auf den vorigen auf.Das zusammenzählen von den Payloadwerten, habe ich realisiert, leider zählt er unendlich weiter.
Wenn ich das Ding irgendwie um 0.00 auf Neuanfang setzen könnte wäre schon das Ziel.msg.payload = (flow.get("import") || 0) + msg.payload;
//msg.payload = msg.payload ;
flow.set("import", msg.payload);
return msg;Du speist einfach ein msg.reset = true ein und setzt auf 0.
msg.payload = (context.get("import") || 0) + msg.payload; //msg.payload = msg.payload ; if (msg.reset) msg.payload = 0; context.set("import", msg.payload); return msg;
Dazu könntest Du eine Inject Node bemühen:
Das kannst aber im context machen, da brauchst den Flow nicht.
-
@mickym oder soll das ein Schieberegister für einen gleitenden Mittelwert werden?
-
@homoran Na das gleitende ist das Problem. Dann musst Du wirklich mit festen Zeitintervallen die Werte einspeisen und dann hast Du eine festdefinierte Arraygröße. Wenn diese erreicht wird, wird oben ein Wert hinzugefügt und unten einer entfernt. da war ich selbst dabei, die aggregator Node zu nehmen und die entsprechend zu erweitern - dann hab ich aber die Lust verloren.
-
@homoran said in Daten zeitweise addieren:
@jonny-0 sagte in Daten zeitweise addieren:
ich bin leider nicht sehr gut im erklären.
das habe ich gemerkt
@jonny-0 sagte in Daten zeitweise addieren:
vielleicht ist es durch den obigen post verständlicher.
leider nein.
also schritt für Schritt:
Vielleicht versteckt sich hier etwas wichtiges
@jonny-0 sagte in Daten zeitweise addieren:Es kommt alle 3 sekunden ein Wert, den sammeln und nach 30 secunden den mittelwert aller auf die WB schieben.
was hat die Wallbox mit der Batterie zu tun? --> Die Wallbox verwaltet hier das ganze Smarthome.
und wovon der Mittelwert der letzten 3 Sekunden?--> von dem import und dem export.
WENN die Batterie bereits maximal entlädt ergibt es doch keinen Sinn die gleiche Menge noch ins Auto zu ladenWarum nicht ? Es kann doch auch sein das von der PV 10 KW kommen und ich mit 13 laden tu. ( max entladen Speicher)