Hallo,
irgendwie stehe ich gerade auf dem Schlauch und finde keine Lösung.
Ich habe mir ein paar Verbrauchszähler erstellt, für verschiedene Zeiträume - Tag, Monat, Jahr. Das funktionioert soweit.
Ich möchte aber gerne auch die Werte von gestern, vorgestern, bis 7 Tage zurück erfahren.
Unter Helfer - Verbrauchszähler kann man aber nur die vorgegebenen Zähler Reset Zyklen wählen.
Gibt es da vielleicht eine Möglichkeit ähnlich einem Cronjob?
Ich nutze zwei Möglichkeiten:
Du kannst einen SQL Sensor erstellen, und in der SQL Abfrage den von dir gewünschten Zeitpunkt einstellen.
Mein Tipp: Automatische Aktualisierung deaktivieren, und nach Bedarf über Automation abfragen bzw aktualisieren, das kann schon zu nem gewissen Load führen.
Seit kurzem frage ich InfluxDB ab, das geht auch. Interessant ist, dass du da auch gleich Berechnungen mit abfragen könntest, z.b. Mean vor 31 Tagen der Mean von 24 Stunden.
Auch hier wäre meine Empfehlung, nur auf Bedarf abzufragen.
Edit: Also in beiden Fällen wird einfach der "Haupt-"Sensor abgefragt. Zyklisch zurückgesetzt wird da also nix.
Danke für deine Antwort.
Aber, hm, das ist noch nicht so das, was ich suche…
So was habe ich noch nicht gemacht, da weiß ich nicht, wie das ginge.
Ich habe es zwischenzeitlich mal mit einer Statistikkarte probiert. Da kann man ja einige Zeiträume auswählen. Das würde notfalls auch ausreichen. Die Frage ist aber, kann man da auch die Zählerstände einsetzen? Wenn nicht, muss man wohl erst einen ganzen Intervall abwarten, bis der richtige Zählerstand da auftaucht?
Dann hab ich nicht ganz verstanden was dein Ziel ist.
Ich habe es so verstanden, dass du für Zeitabstände die du einmal festgelegt hast (z.B. “was war der Zählerstand vor 24h”), den Zählerstand wissen willst.
Wobei ich auch nicht weiß was du mit “kann man auch eigene Zählerstande einsetzen” meinst.
Was fehlt dir denn bzw bei was geht’s in die falsche Richtung? Was ist denn dein finales Ziel, was willst du am Ende sehen, auswerten können?
Ok, vielleicht habe ich es nicht richtig erklärt.
Ich möchte erstmal die Trinkwasserverbräuche anhand des Zählerwertes erfassen, später vielleicht auch Gas, Strom und Regenwasserverbrauch.
Das geht ja auch wunderbar mit dem Helfer “Verbrauchszähler”. Den habe ich mir soweit schon erstellt. Dann habe ich auch schon die Zählerstände, z.B. vom Jahresverbrauch anhand des Stichtagwertes vom 01.01.24 eingestellt über → Enticklerwerkzeuge → Dienste → Verbrauchszähler zurücksetzen/kalibrieren. Aber beim Verbrauchszähler ist man eben durch die vorgegeben Zyklen sehr eingeschränkt.
Mein Wunsch ist es, die Zählerstände (Verbräuche) der letzten 7 Tage, der letzten 3 Monate und der letzten zwei oder auch mehr Jahre zu haben.
Neben dem Verbrauchszähler gibt es dann ja auch noch die Statistikkarte, die gibt etwas mehr her. Aber ich habe dort noch keine Möglichkeit gefunden dort die Zählerstände für das laufende oder das Vorjahr einzustellen.
Ich bin im Februar von ioBroker auf Home Assistant umgestiegen. Bei ioBroker habe ich das Ganze über Blockly Skripte ermittelt. Das ging mit Cronjobs auch für mich Laien recht einfach.
Daher kam meine Überlegung, ob man im HA Verbrauchszähler auch per Cronjob auslesen kann mit individuellen Triggerzeiten.
Irgendwie komme ich da im Moment nicht weiter, auch, weil ich tatsächlich noch nicht viel Erfahrung habe.
Gestern Abend habe ich mir mal die Automatisierungen und Skripte angesehen. Da kann man als Auslöser zumindestens einen Zeitpunkt einstellen. Aber hinkriegen tu ich das auch noch nicht.
Zum Hintergrund für diese Nerd-Idee: Ich kümmere mich beruflich bei einer Wohnungsbaugenossenschaft um den Energiebereich, was die Bereiche Verbrauch und technische Optimierungen betrifft. Dabei sind solche automatisch erfassten Werte sehr hilfreich, z.B. wenn es um die frühzeitige Feststellung von Wasserrohrbrüchen geht und man zusätzlich automatisiert eine Meldung erhält, wenn mal ein Verbrauch aus der Reihe fällt.
Das möchte ich dann nun auch für mich zu Hause mit HA einrichten
Ich hoffe, ich konnte mein Problem damit erklären.
Okay, jetzt versteh ichs besser, wenn auch nicht ganz Aber schauen wir mal!
Wie hast du es denn geschafft einen Wert für ein bestimmtes Datum einzugeben? Diese Option kenne ich für Utility Meters nicht. Über ‘kalibrieren’ kannst ja nur den Wert, den es jetzt gerade hat/haben sollte einstellen.
Der regelmäßige Reset setzt ja die Zähler erstmal nur periodisch zurück. Da gibts sicher Anwendungsfälle, aber für z.B. Wasseruhren macht das ja eher keinen Sinn - die zählen ja einfach stur hoch.
Die Logik bei HA, so wie ich sie verstanden habe, ist generell: Sensorwerte werden in Echtzeit aufgezeichnet, so wie sie sind. Die Auswertung (“wie viel Verbrauch gabs durchschnittlich die letzten 7 Tage”, “was die höchste Temperatur der letzten 30 Tage”, “was ist die Netto-Veränderung der letzten 6 Stunden”…) findet je nach Anwendungsfall entweder statt in:
- Karten (hier dann ausschließlich zur Visualisierung, Anzeigewerte können erstmal nicht entführt werden)
- Helper oder Template-Sensoren (d.h. führe bestimmte Berechnung der Daten durch, und stelle das Ergebnis als Entity zur Verfügung)
- Templates (z.B. Entity1 - Entity2) können auch in Automationen oder Scripten verarbeitet werden, wenn man die berechneten Werte nicht fortlaufend als Entität speichern will
Für alles gilt: Manches ist schon über die UI erreichbar, manches nur über YAML, manches beides.
So. Dann zu Utility Meters:
Wie bei allen anderen Sensoren auch, ist es nicht trivial, historische Werte rückwirkend zu definieren. Außer dem bearbeiten der SQL-Datenbank (das ist ein großes Thema für sich, würd ich hier ausklammern), gibt es die Möglichkeit History-Statistiken über Developer-Tools → Statistics zu korrigieren (nicht neue Datenpunkte erstellen)
Ich vermute, dass du was anderes brauchst/willst - siehe oben. Sensoren sind dafür gedacht den aktuellen Status darzustellen und aufzuzeichen, und später damit umzugehen.
However, wenn du da trotzdem weitermachen willst:
Wird ein Utility Meter in YAML definiert, kann es auch im Cron-Style eingegeben werden: Utility Meter - Home Assistant
Was ich an deiner Stelle machen würde:
Erstmal die gesammelten historischen Daten hinten anstellen. Ist wie gesagt n Thema für sich, leider ist HA auf diesem Auge (immer noch) blind.
Schauen dass ich einen Sensor (ggf. eben ein Utility Meter) habe der den aktuellen Wert zur Verfügung stellt, und das als Grundlage zum berechnen/darstellen nehmen.
Du hast gesagt du willst Benachrichtigungen haben - dann scheiden Karten erstmal aus, die sind ja nur fürs darstellen.
Deswegen würde ich schauen, ob es einen Helper / Statistik-Sensor gibt, der mir den Kennwert-mit dem ich arbeiten will/muss, zur Verfügung stellt.
Vielleicht ein Derivate-Helper? Zeige die Veränderung in den letzten (z.B. 24h an). Der Sensor hat dann manchmal 0l (Urlaub), ansonsten pendelt er zwischen 50-150l. Du kannst dir dann eine Automation basteln, der als Trigger hat “ist der Derivate-Helper höher als 200, schicke eine Notification”.
Darstellungen (Veränderungen im Verbrauch, Durchschnitt usw…) kannst du über Statistics Karten machen - entweder für deinen Helper/Statistics Sensor, und/oder auch das tatsächliche (Utility)Meter.
Zur Inspiration:
So sieht mein Strom Utility Meter aus, das kontinuerlich (kein Reset) faktisch den Zählerstand wiederspiegelt - dargestellt mit einer Statics Graph Card, die die Veränderung als Balken darstellt:
So eine Derrivate-Helper aus, bei dem ich die Veränderung der Temperatur in den letzten 60 Minuten ableiten lasse. Ich habs für was anderes gemacht, aber: steigt die Temperatur innerhalb kurzer Zeit sehr hoch, brennts vielleicht
Also mein Tipp wäre: Schau dir mal die verschiedenen Helper, Statistics oder Template Sensoren an.
Hoffe da war bisschen was hilfreiches für dich dabei
Boah, wow, das war mal informativ - Danke dafür.
Ja, mit dem Zählerstand setzen beim Verbrauchszähler hast du Recht. Da kann ich nur einen Wert, zum Beispiel den aktuellen Zählerstand eingeben. Da habe ich mich wohl unklar ausgedrückt.
Und auch ja, es wird wohl mit Helfern, Templates und/oder Automatisierungen funktionieren. Da fehlt mir aktuell aber noch das Wissen.
Mein Urlaub ist morgen auch zu Ende, ich muss die Idee wohl etwas aufschieben und noch ein bisschen lernen in diesem Bereich.
Danke noch mal für deine Infos!
Gerne doch, dafür ist ja Forum
Um mal mit was zu starten (und den Urlaub gut abzuschließen):
Erstell doch einfach mal einen Derivate Helper - mit dem Hauptsensor, der den Wert der Wasseruhr hat.
Einen sinnvollen Zeitraum, kannst du wahrscheinlich besser schätzen. Wie wär’s mit 6 Stunden?
Der erstellte Helper zeigt dir dann jederzeit an, wie viel m³ in den letzten 6 Stunden abgeflossen sind.
Dann schauste dir das mal ne Zeit lang an, und kennst dann den Wert, der normalerweise nicht überschritten wird.
Dann erstellst du dir eine Automation, mit Trigger: Numeric Value Above (DeinSchwellwert), und als Aktion einfach mal eine oder mehrere notifications (zu notifications gibt’s gute tutorials). Für den Start ist persistent, also nur in der Home assistant GUI, am einfachsten.
Das war’s dann auch schon!
Wird innerhalb 6 Stunden mehr verbraucht als du in der Automation im Trigger angegeben hast, wirst du benachrichtigt.
Klar - Homeassistant ist ein rabbithole, es geht immer weiter. Aber irgendwo muss man ja auch anfangen
Viel Erfolg!