Zählerstand als Zyklisches Ereignis Loggen/ Speichern

Das ist ja eher bescheiden… :unamused:
Hintergrund dieser Aktion ist eine PV-Planung inkl. Speicher.
Gerade dafür sind halt die Daten des Tages/Nachtverbrauch wichtig.
Natürlich liesen sich damit vll noch andere dinge Abbilden

Ok, wenn es nicht um die aktuellsten Werte sondern um Planungswerte geht dann wäre die Mittelwertbildung ja nicht schlimm. Wenn erst einmal die Formel stimmt dann würdest du im Balkendiagramm einen Mix aus dem Tag- bzw. Nachtverbrauch zweier aufeinander folgender Tage bekommen. Für Planungszwecke sollte das doch ok sein?

Ansonsten eben Liniendarstellung als RAW, dann sieht man die Sprünge auf den aktuellen Wert nach jedem Intervall.

Auf die Frage weiß ich gerade echt keine antwort…Sry…
Reichen sollte es bestimmt, jedoch bin ich ein freund von Korrekten Anzeigen.
Auch wenn das hier in dem fall wahrscheinlich pingelich ist.

Vielleicht kann ja @paresy was dazu sagen oder hat einen Tipp wie mein vorhaben umsetzbar wäre ohne ein Falsches Balkendiagramm zu bekommen

Technisch ist die Anzeige ja nicht falsch: das Balkendiagramm in IPS soll den Mittelwert einer Zeitperiode anzeigen (hier von 0-24 Uhr) und das tut es.

Du möchtest im Balkendiagramm für jeden Tag den Wert sehen, der um 14 Uhr des Tages gesetzt wird. Das wird in IPS im Balkendiagramm mit 1 Balken pro Tag leider nicht funktionieren, weil der Zahlenwert eben nur für einen Teil des Tages ab 14 Uhr galt, davor war 14 Stunden lang ein anderer Wert (vom Vortag) gültig. Der Balken berücksichtigt beide Werte und in den üblichen Anwendungsfällen ist das auch so gewünscht.

Demnach würde es ja auch nichts bringen wenn ich den um z.b 19uhr errechneten verbrauch um 0.00 in eine weitere variable schreiben lasse um daraus dann das diagramn loggen zu lassen

Du hättest den Wert am Folgetag von 00:00 bis 23:59 durchgehend in der Variablen, er würde also trotz Mittelwertbildung mit dem exakten Wert im Balkendiagramm erscheinen – aber eben mit dem Datum des Folgetages.

Nachtrag: erfahrene IPS-Programmierer könnten eventuell auch bessere Lösungen realisieren, indem sie manuell die Werte in’s Archiv schreiben mit einem benutzerdefinierten Zeitstempel. Das ist aber komplex, dabei kann ich nicht helfen.

Vll spiele ich das morgen mal so durch.
Ich kann mir ja was zum testen anlegen und die verbrauchsdaten sowie die Uhrzeiten mal händisch eintragen und gucken wie es dann aussieht

Auf jeden Fall Schonmal danke

Mir kommt gerade noch eine Lösungsidee, die ich aber nur grob skizziere. Bei der konkreten Umsetzung in Code müsste uns jemand mit mehr PHP-Erfahrung helfen.

Du könntest um 19:00 nachdem der Tageswert ermittelt ist diesen rückwirkend mit Zeitstempel 00:00 in’s Archiv schreiben. Damit hätte man den gleichen, korrekten Wert von 0-24 Uhr und das Balkendiagramm würde passen.

Die Funktion für’s Schreiben ist hier dokumentiert:

Nach dem Hinzufügen des Wertes müsste man dann neu aggregieren:

Das werde ich mir morgen mal anschauen …
Hilfe schadet natürlich nie

Das ganze brachte keinen Unterschied…Im Balkendiagramm Tauchen trotz händischer eingabe und dem Manuellen Zeitstempel 23:59:59 andere verbrauchswerte auf als eingetragen…

Ich schaue mir jetzt mal die Links an

Leider ist mir gerade noch etwas komisches aufgefallen.
In einen Graphen bekomme ich genauere zahlen angezeigt als in dem anderen.
Die Einstellungen sind meines wissens nach gleich
Wie kommt das jetzt


Diese anzeige würde bevorzugen

Leider kann man deine Probleme kaum nachvollziehen weil es keine vollständigen Infos gibt. Man müsste schon die Zählerstände und die berechneten Differenzen und die resultierenden Diagramme sehen.

Aus gleichem Grund sind Fragen wie „In einen Graphen bekomme ich genauere zahlen angezeigt als in dem anderen. Wie kommt das jetzt“ kaum zu beantworten.

Dass die Diagramme nur für den neuesten Wert stimmen können wenn du ständig etwas am Code änderst dürfte klar sein? Die alten Werte sind mit altem Code anders berechnet.

Um es verständlicher zu machen,
Welche Datensätze soll ich denn mal hier Posten?
Ich dachte das ich in den Oberen bildern schon alle infos habe

gruß

bitte sagen was noch fehlt


CSV-Nacht


CSV-Tag


Diagramm Nacht


Diagramm Tag


errechnete differenz aktuell


zählerstände 7+19uhr


Als Balkendiagramm

ips_tagesverbrauch-dia-einst
Einstellungen im Chart

ips_tagesverbrauch-ereignis-ausgelöst-tag
Errechnung der Differenz bei Auslösung um 7 bzw. 19uhr

ips_tagesverbrauch-ereignis-zyklisch-tag
Einlesen des Zählerstandes zur entsprechenden Uhrzeit


Von hier kommt der Zählerstand

ips_tagesverbrauch-tabelle
Die geloggten bzw. Real errechneten differenzen habe ich mal zur übersicht in eine tabelle geschrieben. Diese Steht für IPS nicht zur verfügung. Sie dient nur zur Übersicht der Daten welche angezeigt werden sollen

Zur Reihenfolge der Aktuellen Situation:

  1. Zählerstand 7uhr wird über Zyklisches ereignis in Variable Zählerstand Tag 7:00 geschrieben
  2. Zählerstand 19uhr wird über Zyklisches ereignis in Variable Zählerstand Tag 19:00 geschrieben
  3. Bei Aktualisierung 19uhr wird dann der Tagesverbrauch mittels Ausgelöstes Ereignis über php-code errechnet
  4. Die errechnete Differenz wird dann in die Variable Tages bzw. Nachtverbrauch geschrieben und dort als Standart geloggt.
    Diese differenz bleibt dann Konstant stehen bis um 19uhr am Folgetag eine neue Differenz errechnet wird

Ok, und was passt jetzt nicht?

Wegen deiner vielen Änderungen nehme ich nur den letzten Wert, hier Tagesverbrauch. Der steht im Archiv mit 6,5 und in beiden Diagrammen (Linie und Balken) lese ich für Samstag diese 6,5 ab. Das passt doch!?

Wie gesagt sieht man mit dem aktuellen Code den Wert um einen Tag verzögert. Und wie gesagt wird das Balkendiagramm sich später noch ändern wenn um 19 Uhr ein anderer Wert dazukommt. Das hatten wir alles oben diskutiert, incl. Workaround mit Schreiben eines Wertes erst um Mitternacht.

Nachtrag zum Balkendiagramm vom Freitag:

Was du dort siehst berechnet sich aus 19 Stunden mit Wert 3,60 und 5 Stunden mit Wert 6,53:
(19 x 3,60 +5 x 6.53) / 24 = 4.21
Darum der Workaround die Werte um Mitternacht zu schreiben, damit keine Vermischung von zwei Tagen im Balkendiagramm passiert.

Eben diese 6,5 können ja nicht fuer heute eingetragen sein. Der Tag läuft ja noch .
Dieser wert haette fuer Freitag stehen müssen.
Es fand ja auch kein tageswechsel statt .
Freitag 7uhr bis freitag 19uhr = log
Diese 6,5 wurden ja um 19uhr als Differenz errechnet. Diese Differenz bleibt ja konstant.

Edit:
Glaube grade faellt der groschen bei mir.
Bzgl der 19+5 Std

Dennoch gehört der verbrauch auf den freitag geschrieben und nicht auf heute

Ja. Stimmt. Du kommst hier mit Einwänden die ich schon vor vielen Beiträgen geduldig mehrfach erklärt hatte incl. denkbarer Workarounds.

Du solltest versuchen die Logik von IPS zu verstehen. In diesem Fall: der Wert ist solange gültig bis es einen neuen Wert gibt. Also siehst du als aktuellen Wert heute den letzten Wert im Archiv, der gestern um 19 Uhr geschrieben wurde.

Und heute um 19 Uhr wird sich der Wert dann ändern, im Balkendiagramm wird ab 19 Uhr also wieder ein Mittelwert entstehen. Das ist halt so, das Balkendiagramm ist für deine Zwecke wenig geeignet.

Ich gebe aber jetzt auf, denn offenbar schreibe ich Chinesisch. Das bringt so nix.

1 „Gefällt mir“