Tagesverbrauch von Gas
- TuxTux
- Beiträge: 65
- Registriert: 6. Nov 2019 23:47
- Wohnort: Achim
Tagesverbrauch von Gas
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
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"
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"
-
- Beiträge: 71
- Registriert: 24. Jun 2022 08:16
- Wohnort: Bielefeld
- Kontaktdaten:
Re: Tagesverbrauch von Gas
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
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/ 

- TuxTux
- Beiträge: 65
- Registriert: 6. Nov 2019 23:47
- Wohnort: Achim
Re: Tagesverbrauch von Gas
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
so neu bin ich gar nicht

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"
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"
-
- Beiträge: 71
- Registriert: 24. Jun 2022 08:16
- Wohnort: Bielefeld
- Kontaktdaten:
Re: Tagesverbrauch von Gas
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

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

-
- Beiträge: 302
- Registriert: 7. Mär 2021 14:49
Re: Tagesverbrauch von Gas
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
jetzt kann ich mir für jeden Tag den Verbrauch berechnen und das ganze in einer Art Tabelle anzeigen.

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.
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 )

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
- peter-pan
- Beiträge: 2758
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Tagesverbrauch von Gas
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.
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.
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.
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
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
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
-
- Beiträge: 302
- Registriert: 7. Mär 2021 14:49
Re: Tagesverbrauch von Gas
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?
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
- TuxTux
- Beiträge: 65
- Registriert: 6. Nov 2019 23:47
- Wohnort: Achim
Re: Tagesverbrauch von Gas
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

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"
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"
- peter-pan
- Beiträge: 2758
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: Tagesverbrauch von Gas
...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"

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
- TuxTux
- Beiträge: 65
- Registriert: 6. Nov 2019 23:47
- Wohnort: Achim
Re: Tagesverbrauch von Gas
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
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"
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"