Tagesverbrauch von Gas

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Benutzeravatar
TuxTux
Beiträge: 65
Registriert: 6. Nov 2019 23:47
Answers: 0
Wohnort: Achim

Tagesverbrauch von Gas

Beitrag von TuxTux »

Mahlzeit,

kann mir vielleicht jemand ein wenig Hilfestellung beim berechnen und speichern einer Zahl helfen?

Ausgangspunkt ist mein Absoluter Gasverbrauch von meiner Heizung, die ich per BSBLAN Interface e bekomme. Alle 24h möchte ich nun den alten Wert vom neuen abziehen um einen Tagesverbrauch zu ermitteln. Daraus dann einen Wochenverbrauch und so weiter.

Das ganze müsste dann ja in einer Rule untergebracht werden die schön verschachtelt ist.

Meine Frage wäre jetzt wie ich die Variablen Struktur aufbaue damit sie auch einen Neustart des Systems übersteht.

Denke das könnte auf Grund der aktuellen Situation für viele interessant werden / sein.

Vielen Dank im Voraus.


Mit freundlichen Grüßen

TuxTux
Proxmoxx 6.xx @ HP T610 8GB Ram 128GB SSD
HOST 1: LXC Ubuntu 18.04 --> Fhem 6.xx SIGNALDUINO / MQTT / ZIGBEE / HOMEBRIDGE
HOST 2: LXC Ubuntu 18.04 --> OH 2.xx BSB BUS /KNX / WEATHER / NTP / ASTRO / MQTT / TIMESCHEDULING BLINDS
HOST 3: LXC Ubuntu 20.4 --> TVHEADEND Server Running Zattoo
HOST 4: LXC Ubuntu 20.04 --> OH 3.xx actual playground

"No message, is a good message"

tim.l
Beiträge: 71
Registriert: 24. Jun 2022 08:16
Answers: 2
Wohnort: Bielefeld
Kontaktdaten:

Re: Tagesverbrauch von Gas

Beitrag von tim.l »

Hallo TuxTux,

ich bin auch neu bei openHAB, kann aber gerne einmal schildern, wie ich es vorhab. Ggf. kann ein alter openHAB Hase, dies korrigieren oder bestätigen.

Ich werde auch den Zähler in Echtzeit ermitteln und diesen in einem item haben.
Via Rule um 23:55 Uhr, werde ich ein Blockly script bauen, welches die differenzen zwischen "item vor 24h" und "item jetzt" baut und dies in ein weiteres item schreibt. Das weitere item, ist nicht mit einem Channel verbunden (Virtual item) und zeigt den Tagesverbrauch an. Anhand dieses Items kann dann leicht z.B. ein Wochenverbrauch bestimmt werden (Summe der letzten 7 Tage) oder ähnliches. Falls man diesen auch festhalten will, würde ich das in eine weitere Rule legen, sodass man nicht eine "Gott"-rule hat, welche alles macht, sondern 2-3 welche das entsprechend runterbrechen. Ähnlich könnte man es auch mit "Gasverbrauch heute" machen, wo man einfach alle 15 Minuten die Zählerstand Differenz von 00:00 zu jetzt bildet und in einem Item speichert.

Beste Grüße,
Tim
Meine openHAB Erfahrungen bei mir im Blog: https://360friends.de/tag/openhab/ ;)

Benutzeravatar
TuxTux
Beiträge: 65
Registriert: 6. Nov 2019 23:47
Answers: 0
Wohnort: Achim

Re: Tagesverbrauch von Gas

Beitrag von TuxTux »

Hey Tim,

so neu bin ich gar nicht ;-). Bin nur gerade ein wenig faul muss ich ganz ehrlich sagen [emoji23]

Lese mich gerade in die persistence Geschichte ein und schau mal wo das ganze hin führt.

Eine Rule stündlich getriggert sollte vollkommen ausreichend sein. Klar kann man für jede Zeitliche Einheit eine bauen aber dann hab ich nachher eine Millionen Rules im Verzeichnis liegen. Mag ich persönlich nicht.

Werde mal schauen wie weit ich heute komme und dann hier gerne berichten.

Grüße

TuxTux
Proxmoxx 6.xx @ HP T610 8GB Ram 128GB SSD
HOST 1: LXC Ubuntu 18.04 --> Fhem 6.xx SIGNALDUINO / MQTT / ZIGBEE / HOMEBRIDGE
HOST 2: LXC Ubuntu 18.04 --> OH 2.xx BSB BUS /KNX / WEATHER / NTP / ASTRO / MQTT / TIMESCHEDULING BLINDS
HOST 3: LXC Ubuntu 20.4 --> TVHEADEND Server Running Zattoo
HOST 4: LXC Ubuntu 20.04 --> OH 3.xx actual playground

"No message, is a good message"

tim.l
Beiträge: 71
Registriert: 24. Jun 2022 08:16
Answers: 2
Wohnort: Bielefeld
Kontaktdaten:

Re: Tagesverbrauch von Gas

Beitrag von tim.l »

Ok… vielleicht war das „auch“ ein wenig fehl am platz. Ich selbst benutze keine Files, sondern mache alles über die GUI. Aber da sind auch schon reichlich Rules. Wenn du eine Lösung hast, gerne hier teilen… :-)

Beste Grüße,
Tim
Meine openHAB Erfahrungen bei mir im Blog: https://360friends.de/tag/openhab/ ;)

oh73
Beiträge: 302
Registriert: 7. Mär 2021 14:49
Answers: 1

Re: Tagesverbrauch von Gas

Beitrag von oh73 »

Hallo,
ich hab so was ähnliches, wo ich dran am arbeiten bin, nur mit Stromverbrauch.

da ich mit persistence nicht so vertraut bin, und ich meine Daten gerne irgendwo habe, wo ich sie auch mal kontrollieren kann, schiebe ich den Zählerstand jeden Abend um 23:55 mit Hilfe von einem Php Script in eine Sqlite Datenbank.
um 00:05 Uhr werden die Daten dann nach openhab in Items geschickt.

dafür hab ich für jeden Tag ein Item smdg1 - smdg31

in der dazugehörigen Rule hab ich ein Array

Code: Alles auswählen

	var sMeterdg = newArrayList(
		smdg1, smdg2, smdg3, smdg4, smdg5, smdg6, smdg7, smdg8, smdg9, smdg10, smdg11, smdg12,
		smdg13, smdg14, smdg15, smdg16, smdg17, smdg18, smdg19, smdg20, smdg21, smdg22, smdg23, smdg24, smdg25,
		smdg26, smdg27, smdg28, smdg29, smdg30, smdg31, smdg32, smdg33, smdg34, smdg35, smdg36 )
		
jetzt kann ich mir für jeden Tag den Verbrauch berechnen und das ganze in einer Art Tabelle anzeigen.

Bild

aktuallisier wird der Tagesverbrauch immer wenn sich der Zählerstand ändert!

ist aber noch nicht alles fertig, und mal abwarten wie das aussieht wenn ich zum nächsten Monat springe?

muss ja alles immer angepasst werden, Der Monat hatt "x" Tage, fängt mit welchem Tag an ? usw!
die Items smdg1 - smdg31 werden auf jeden Fall im neuen Monat auf 0 gesetzt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
OH 4.3.0 auf HP 26o G1 Dm Mini Pc mit MX_Linux

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Tagesverbrauch von Gas

Beitrag von peter-pan »

Ich hab's auch nicht so mit dem hin und her rechnen und abspeichern. Aber ich hab mir mal so ein paar Schnipsel von hier und da (vor allem von Udo) weg kopiert mit denen ich immer wieder mal spiele.

Ich gehe mal davon aus, dass wir von OH3 sprechen.
Da ist soweit ich weiß "RRD4J" als Standard-Persitence eingestellt.

Code: Alles auswählen

rule "another test with persistence Delta"

when
    Item Dummy_4 changed from OFF to ON

then
logInfo("test","-----------------------------------------------------------") 
val StromverbrauchTag = Gosund_socket_05_Verb.deltaSince(ZonedDateTime.now().with(LocalTime.MIDNIGHT)) as Number   // Heute aus Gesamtverbrauch
val StromverbrauchVortagHeute = Gosund_socket_05_Verb.deltaSince(ZonedDateTime.now.minusDays(1).with(LocalTime.MIDNIGHT)) as Number  // seit Gestern aus Gesamtverbrauch
val StromverbrauchVortag = Gosund_socket_05_Verb.deltaBetween(now.minusDays(1).with(LocalTime.MIN),now.minusDays(1).with(LocalTime.MAX))

logInfo("another","StromverbrauchTag: {} - Vortag bis heute {} - Gestern {} ", StromverbrauchTag, StromverbrauchVortagHeute, StromverbrauchVortag )

end
Ohne jetzt jeden Tag eine Wert weg zu speichern, kannst du dir z.B. den Verbrauch eine bestimmten Tages aus einem Gesamtverbrauch ermitteln lassen, der sowieso von deinem Persistence-Service abgespeichert wird.

Das obige Beispiel zeigt dir wie der Wert von Heute, von gestern bis heute und von Gestern ermittelt wird.

Code: Alles auswählen

2022-08-30 21:05:19.985 [INFO ] [rg.openhab.core.model.script.another] - StromverbrauchTag: 1.436 - Vortag bis heute 2.465 - Gestern 1.029 

Das gleiche geht natürlich auch auf den laufenden oder den Vormonat, oder oder.

Als Beispiel-Item habe ich eine Schaltsteckdose (Gosund111) genommen, die auch selbst den Gesamtverbrauch, Verbrauch heute und Verbrauch gestern protokolliert.

Die Werte für OH wurden aber nur aus dem Item "Gesamtverbrauch" ermitelt.

Vielleicht hilft dir das weiter.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

oh73
Beiträge: 302
Registriert: 7. Mär 2021 14:49
Answers: 1

Re: Tagesverbrauch von Gas

Beitrag von oh73 »

ich weiß zwar nicht so richtig was ich da tue,
aber das funktioniert! :-)

nur warum werden, wenn ich die Summe durch hundert teile so viele Nullen als Nachkommastellen angezeigt?

Code: Alles auswählen

2022-08-30 22:10:37.361 [INFO ] [rg.openhab.core.model.script.another] - StromverbrauchTag: 258.0 - Vortag bis heute 536.0 - Gestern 278.0 
2022-08-30 22:12:57.258 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Verbrauch_berechnen.rules'
2022-08-30 22:13:03.842 [INFO ] [org.openhab.core.model.script.test  ] - -----------------------------------------------------------
2022-08-30 22:13:03.844 [INFO ] [rg.openhab.core.model.script.another] - StromverbrauchTag: 2.59000000 - Vortag bis heute 5.37000000 - Gestern 2.78000000 
OH 4.3.0 auf HP 26o G1 Dm Mini Pc mit MX_Linux

Benutzeravatar
TuxTux
Beiträge: 65
Registriert: 6. Nov 2019 23:47
Answers: 0
Wohnort: Achim

Re: Tagesverbrauch von Gas

Beitrag von TuxTux »

Ja Mahlzeit Peter :-)

Schön das es dich auch noch gibt [emoji1360]

Lese mich gerade noch in die persistence ein, möchte es dann aber so ähnlich wie bei dir lösen.

Dachte mir ich lege mir Stunden, Tages, Wochen, Monats und Jahres Variablen an, jeweils alt und neu und ziehe mir dann stündlich den Absoluten wert und berechne dann das Delta zur letzten Stunde und addieren den alten Stunden wert auf den Tag.
Es müssten dann aber wie schon erwähnt wohl arrays werden.

Da ich aber noch am lesen bin kann ich das noch nicht genau sagen.

Habe aber den Willen das umzusetzen und bleibe auch dran.

Schlussendlich kann ich dann später meinen Abschlag und den Gaspreis setzten und schauen ob es noch alles passt oder ob ich nachzahlen muss bzw. meinen Abschlag anpassen muss.

Schauen wir mal wo die Reise hin geht.

Vielleicht liest Udo ja auch mit und steuert das ganze in die richtige Richtung [emoji4]

Vielen Dank erstmal und einen schönen Abend noch.

Grüße

TuxTux


Gesendet von iPhone mit Tapatalk
Proxmoxx 6.xx @ HP T610 8GB Ram 128GB SSD
HOST 1: LXC Ubuntu 18.04 --> Fhem 6.xx SIGNALDUINO / MQTT / ZIGBEE / HOMEBRIDGE
HOST 2: LXC Ubuntu 18.04 --> OH 2.xx BSB BUS /KNX / WEATHER / NTP / ASTRO / MQTT / TIMESCHEDULING BLINDS
HOST 3: LXC Ubuntu 20.4 --> TVHEADEND Server Running Zattoo
HOST 4: LXC Ubuntu 20.04 --> OH 3.xx actual playground

"No message, is a good message"

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Tagesverbrauch von Gas

Beitrag von peter-pan »

oh73 hat geschrieben: 30. Aug 2022 22:17 nur warum werden, wenn ich die Summe durch hundert teile so viele Nullen als Nachkommastellen angezeigt?
...muss ich selber erst ausprobieren. Ich gehe mal davon aus, dass es durch die Division kommt bzw. der Darstellung als Float-Zahl ohne Formatierung. Das lässt sich aber sicher "nachbearbeiten". Das müsste man dann halt im Einzelfall prüfen.

Aber das Ergebnis als solches ( 258 + 278 = 536) stimmt. Und das vermutlich aus einem Gesamtverbrauch von "xxx Einheit" ;)

TuxTux hat geschrieben: 30. Aug 2022 22:20 Dachte mir ich lege mir Stunden, Tages, Wochen, Monats und Jahres Variablen an, jeweils alt und neu und ziehe mir dann stündlich den Absoluten wert und berechne dann das Delta zur letzten Stunde und addieren den alten Stunden wert auf den Tag.
Ich bin mir nicht ganz sicher worauf du hinaus willst, aber grundsätzlich kannst du den Verbrauch immer für bestimmte Zeiträume berechnen, egal ob für Tag, Monat oder Jahr oder aber für bestimmte Zeiträume (Jan-Feb, März-April, etc.) Bei Stunden weiss ich nicht so genau, aber ich kann mir nicht vorstellen, dass man das so fein strukturieren muss. Das geht alles mit eine kleinen Regel, wie oben beschrieben.

Udo hat da bestimmt noch ein paar Ideen dazu.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
TuxTux
Beiträge: 65
Registriert: 6. Nov 2019 23:47
Answers: 0
Wohnort: Achim

Re: Tagesverbrauch von Gas

Beitrag von TuxTux »

Du wirst recht haben… ne Stunde braucht man nicht. Muss erstmal die Mechanik verstehen…

Werde morgen mal dein Beispiel testen und dann ein wenig damit rumspielen, vielleicht ist das ja sogar auch schon die Lösung.

Vielen Dank nochmal.

Gruß


Gesendet von iPhone mit Tapatalk
Proxmoxx 6.xx @ HP T610 8GB Ram 128GB SSD
HOST 1: LXC Ubuntu 18.04 --> Fhem 6.xx SIGNALDUINO / MQTT / ZIGBEE / HOMEBRIDGE
HOST 2: LXC Ubuntu 18.04 --> OH 2.xx BSB BUS /KNX / WEATHER / NTP / ASTRO / MQTT / TIMESCHEDULING BLINDS
HOST 3: LXC Ubuntu 20.4 --> TVHEADEND Server Running Zattoo
HOST 4: LXC Ubuntu 20.04 --> OH 3.xx actual playground

"No message, is a good message"

Antworten