Binding für Gerät mit Webserver (Steca-Wechselrichter)

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
starbright
Beiträge: 93
Registriert: 16. Jan 2023 19:27
Answers: 0

Re: Binding für Gerät mit Webserver (Steca-Wechselrichter)

Beitrag von starbright »

Die Werte sm_cnt_deliver und sm_cnt_purchase kommen 1:1 vom Zähler - gestartet bei Montage ... also das gibt keinen sinnvollen Startwert. Das sind die von dir erwähnten Monotonen Total Zähler. Auch der Wechselrichter_Solar_Years ist jetzt einer (auch wenn der Name etwas unglücklich ist), startet aber zu einem ganz anderem Zeitpunkt.
Den Offset hab ich so berechnet dass er zu diesem Moment (willkürlich) der Wert 0 wurde. Und das wäre cool zu automatisieren am Anfang eines Tages. Das gäbe dann im Chart so eine Art Sägezahl der über den Tag ansteigt und dann um Mitternacht auf 0 fällt.

Das ist eine Darstellung, die mir von meinem aktuellen Wissenstand am naheliegendsten ist. Schön wäre auch eine Diagramm, das jeden Tag den Verbrauch anzeigt. Für den aktuellen Tag wäre es dann der aufsummierte aktuelle Verbrauch, für die anderen der Gesamt-Tagesverbrauch. Hab aber keine Ahnung wie das geht.

Wie kann ich denn auf diese Persistenz zu einem gewissen Zeitpunkt zugreifen (idealerweise "relativ" auf die letzten Tage bzw Monate, also ohne 1.1.2024 oder so etwas konkretes)?

Benutzeravatar
udo1toni
Beiträge: 14848
Registriert: 11. Apr 2018 18:05
Answers: 232
Wohnort: Darmstadt

Re: Binding für Gerät mit Webserver (Steca-Wechselrichter)

Beitrag von udo1toni »

Es wäre besser, einfach die Persistence zu verwenden. Du lässt Dir die Differenz zwischen Startwert und Endwert berechnen, z.B. so:

Code: Alles auswählen

Verbrauch_heute = sm_cnt_purchase.deltaSince(now.with(LocalTime.MIDNIGHT))
"interessnate" Zeitpunkte:

Code: Alles auswählen

midnight = now.with(LocalTime.MIDNIGHT)
monday = now.minusDays(now.dayOfWeek.value - 1).with(LocalTime.MIDNIGHT) // Montag = 1, Sonntag = 7
currentMonth = now.withDayOfMonth(1).with(LocalTime.MIDNIGHT)
currentYear = midnight.withDayOfYear(1).with(LocalTime.MIDNIGHT)
Mit diesen Startzeitpunkten kannst Du Dir Einspeisung bzw. Bezug für den aktuellen Tag, die aktuelle Woche, den aktuellen Monat und das aktuelle Jahr ausgeben lassen. Ein Tag im Jahr hat 23 Stunden, ein Tag hat 25 Stunden (das ist der Grund, warum Mitternacht immer für das jeweilige Datum berechnet werden muss).
Genauso kannst Du natürlich auch die Vorwoche mit ausgeben lassen (sm_cnt_purchase.deltaBetween(monday.minusDays(7).with(Localtime.MIDNIGHT, monday)), den Vormonat oder auch das vorige Jahr.
Voraussetzung hierfür ist lediglich, dass Du die Zählerstände persistiert hast, wie sie sind,
Wenn Du die Wochen- und Monatswerte jeweils berechnen lässt und zu beginn des nächsten Zeitabschnitts persistierst, kannst Du sogar unkompliziert die Wochenverbräuche übers Jahr als Chart zeichnen lassen.
openHAB4.3.0 stable in einem Debian-Container (bookworm) (Proxmox 8.3.1, LXC), mit openHABian eingerichtet

starbright
Beiträge: 93
Registriert: 16. Jan 2023 19:27
Answers: 0

Re: Binding für Gerät mit Webserver (Steca-Wechselrichter)

Beitrag von starbright »

Vielen Dank. Wenn ich das Konzept richtig verstanden hab, kann ein Chart aber nur Items plotten. Heißt das nicht, ich muss erst eine Item erstellen, dem per Rule(?) also des oben genannten Codes Daten zuweisen? Allerdings würde das bedeuten, dass ich erst in einem Jahr einen vollen Jahreschart plotten kann, obwohl meine Persistence das abdeckt?

Mir ist ein bisschen rätselhaft wie Andere den Einstieg in openHAB schaffen. Ich arbeite schon viel damit, aber mit der original-Doku (möglichweise weil in Englisch) komme ich nicht wirklich voran. Gibt es noch gute Links zum Thema in Deutsch? Am besten mit viel Beispielen. Auch wie man am besten debuggt wenn etwas nicht funktioniert. Sonst nerve ich dich auch das ganze nächste Jahr ;)

Benutzeravatar
udo1toni
Beiträge: 14848
Registriert: 11. Apr 2018 18:05
Answers: 232
Wohnort: Darmstadt

Re: Binding für Gerät mit Webserver (Steca-Wechselrichter)

Beitrag von udo1toni »

Ich verwende für die meisten Daten Grafana, weshalb solche Restriktionen bei mir nicht auffallen...
openHAB4.3.0 stable in einem Debian-Container (bookworm) (Proxmox 8.3.1, LXC), mit openHABian eingerichtet

Antworten