Hi,
ich habe den ViCare Sensor Brennerstunden in meinem Home Assistent eingebunden. Dieser summiert ja alle Brennerstunden stumpf auf.
Jetzt würde ich gerne über die Brennerstunden und den Düsenparametern (3,5l/h) den täglichen, wöchentlichen, monatlichen und jährlichen Verbrauch berechnen.
Hat jemand eine Idee wie ich das umsetzen kann? Oder einen Hinweis, wie es eventuell anders gehen könnte?
Gelöst! Gehe zu Lösung.
@shgmongo
Sorry, Antwort dauert noch etwas, ich suche noch bei mir nach einer Lösung, für dein Vorhaben. Melde mich bald wieder...
@shgmongo
Ich denke ich habe eine Lösung für dich.
Werte in die InfluxDB mit Grafana zurück schreiben ist m.W. nicht möglich und auch nicht nötig.
Du kannst ja im Grafana dir Linien-, Balken-, Kuchendiagramme ect. darstellen mit was immer du willst.
Deine Brennerlaufzeit Werte werden ja nun schon in die InfluxDB geschrieben und damit aufgezeichnet (Archiviert). Im Grafana, kannst du dann damit eine Darstellung machen, nach zeitlichem Verlauf, gruppiert nach Tagen, Wochen, Monaten, Jahren...
Ich will mal versuchen Dir meine Lösung mit meinem Energiezählen im Grafana zu zeigen. Dieser hat auch nur einen Wert kWh, welcher täglich ansteigt, wie deine Brennerlaufzeit.
(Gut, meiner resetet sich jeden Tag, aber das ist erstmal egal)
Hier ein Stat Beispiel wie man den Wert nur Heute darstellen lässt:
Unter Query options die Relative time auf "now/d" stellen.
Unter SELECT reicht ein "field(value)"
Damit sollter er die Laufzeit Heute darstellen.
Bei einer Wochendarstellung habe ich unter Query options die Relative time auf "now/w" gestellt, um quasi die Woche zusammen zu rechnen.
Bei SELECT "field(value)" habe ich noch einen SELECTOR "max" hinzugefügt, um immer den max Wert eines Tages zu nehmen. Man will ja nicht alle Laufzeiten summiert haben.
Bei GROUP BY habe ich dann time (1d) gesetzt um quasi jeden Tag in einer Woche zu berechnen:
Bei einem Monat sieht es dann so aus.
Relative time auf "now/M" (das "M" wirklich groß schreiben, sonst sind es Minuten!)
Der Rest wie bei Wochendarstellung:
Du kannst auch Quartale nehmen mit Relative time auf "now/Q" oder ein Quartale "1Q" oder zwei Quartale "2Q" ohne "now/"
Und beim aktuellen Jahr dann die Relative time auf "now/y"
Willst du die Laufzeit von einem Gesamten Jahr, also inkl. altem Jahr, dann lass das "now/" weg, also nur "y" oder bei zwei Jahren "2y" usw.
Gruppiert habe ich das bei mir wieder nach einem Tag "time(1d)" mit nur dem max Wert:
Willst du das im Zeitlichen Verlauf darstellen, als Balkendiagram oder was auch immer geht das auch.
Hier eine Tagesansicht für ein Jahr als Beispiel:
Dargestellt wird die Relative Zeit eines Jahres "1y" als Zeitlicher Verlauf.
Dabei wird jeder Tag dargestellt (GROUP BY = time(1d)) und nur der max Wert jedes Tages genommen (SELECT > SELECTOR > max)
Bei einer Wochendarstellung habe ich die Relative Zeit auf "12M" gestellt, um die letzten 12 Monate darzustellen. Geht auch "1y" oder wie lange du das zurück darstellen willst.
Als Gruppierung (GROUP BY) habe ich dann "1w" gewählt, um eine Woche zur Berechnung zu nehmen und dann wieder nur den "max" Wert bei SELECT, da ich ja nur den Wochen max Wert brauche und nicht alle aufgezeichneten summiert:
Bei einer Monatsdarstellung gibt es dann eine Besonderheit.
Hier habe ich dann auch wieder die Zeitspanne ein Jahr "1y" gewählt, damit ich alle Monate bis vor einem Jahr sehe.
Bei der Zeitgruppierung (GROUP BY) kann man aber jetzt nicht "1M" auswählen, um jetzt nach einem Monat zu gruppieren! Das kann Grafana nämlich leider nicht, siehe Klick
Man könnte es wohl in der InfluxDB direkt gruppieren, aber das mache ich selber auch nicht so.
Ich habe stattdesten einfach 4 Wochen genommen (4w), auch wenn ein Monat nicht immer genau 4 Wochen hat, aber egal 😉
Und bei einem Jahr habe ich dann als Zeitspanne aktuell 2 Jahre "2y" genommen (so lange läuft meine Aufzeichnung) und als GROUP BY 52 Wochen "52w", was ungefähr ein Jahr ergibt:
Ich muss mal noch schauen, wie ich die Timeline unter dem Graphen noch so dargestellt bekomme, dass da pro Balken nur die Jahreszahl steht...
Am Ende kann es bei Dir auch so aussehen, nur halt mit Brennerlaufzeit, muss aber nicht 😉
(Bei mir passt nur die Berechnung nach Woche / Monat / Jahr im Balkendiagrammverlauf noch nicht. Ich komme da noch nicht auf richtige Werte, weil mein kWh Wert ja jeden Tag resetet wird)
Das Problem sollte bei Dir aber bei kontinuierlichem ansteigenden Brennerlaufzeitstunden nicht bestehen:
Versuch das erstmal bei Dir so. Vielleicht hilft Dir das weiter.
VG ✌
Ich würde die Brennerlaufzeit in eine Influx Time Series Datenbank schreiben und mit Grafana visualisieren.
In Grafana kann man dann den täglichen, wöchentlichen, monatlichen und jährlichen Verbrauch berechnen lassen und als Graphen darstellen.
Siehe z.B. Tutorial: https://daniel-strohbach.de/home-assistant-influxdb-grafana-fuer-n00bs
VG 🤗
@koeber Vielen Dank für deine Antwort. InfluxDB und Grafana laufen schon bei mir.
Wie kann ich aber in Grafana den täglichen, wöchentlichen usw. Verbrauch berechnen lassen. Wie geht so was?
Gruß,
Sebastian
@shgmongo,
du könntest die Calculation bei Panel Value options auf "Range" stellen und den Brennerlaufzeit Wert immer bei Ändeurng in die InfuxDB schreiben lassen.
Dann kannst du die Range von bis über die Relative Zeitspanne kalkulieren lassen:
In den Panel Query options dann die Relative time auf täglichen (now/d), wöchentlich (now/w), monatlich (now/M), jährlich (now/y)
Oder oben rechts über die Relative Zeitspanne:
VG ✌️
und oder installier Dir das grafana-discrete-panel plugin.
Im Grafan unter Home > Administration > Plugins > Suche "Discrete"
Damit kannst du dann Laufzeiten im Verlauf darstellen, welche du über die Relative Zeit wieder gruppieren kannst.
Bsp: vom meinem Kompressor:
Vielen Dank für deine ausführliche Beschreibung. Leider finde ich in den Panel Options nicht die Möglichkeit auf calculation umzuschalten.
Ich habe mal einen Screenshot angehänt.
Ich hatte das Plugin Discrete auch schon installiert, aber leider läuft es nicht....
Ich denke, ich habe bei beiden Problemen wohl etwas nicht richtig konfiguriert. Vielleicht siehst du es ja...
Hi @shgmongo
Das ist im Plugin "Stat" und nicht "Time series"
Das sieht dann ggf. so aus:
Das Stat Plugin Ist vielleicht auch die bessere Wahl, da der Verlauf ja eh immer nach oben ist, durch die Mehrzahl der Stunden, welche sich nur aufsummieren.
Da macht ein Stat Panel wahrscheinlich mehr sinn, wo du Dir nur die Zeitlich festgelegen Laufzeiten anzeigen lässt.
Beim Discrete Plugin, habe ich jetzt gesehen, dass ich es selber nur bei Werten mit on/off oder true/false nutze, um quasie die Zeitspanne zu haben, wann etwas an und aus geht. (Kompressor, Pumpe ect.)
Bsp:
VG ✌️
@koeber Danke! Ich habe doch gewusst, dass ich nur einen kleinen Fehler hatte bzw. das State nehmen muss.
Kannst du mir vielleicht sagen, wie ich die Daten erstens in InfluxDB zurückschreibe?
Eigentlich würde ich gerne die Daten täglich erfassen und dann für jede Kalenderwoche und für jeden Monat dann aufsummieren.
Und wie ich vielleicht historische Daten auch mit reinnehmen kann?
Grüße!
@shgmongo
Sorry, Antwort dauert noch etwas, ich suche noch bei mir nach einer Lösung, für dein Vorhaben. Melde mich bald wieder...
@shgmongo
Ich denke ich habe eine Lösung für dich.
Werte in die InfluxDB mit Grafana zurück schreiben ist m.W. nicht möglich und auch nicht nötig.
Du kannst ja im Grafana dir Linien-, Balken-, Kuchendiagramme ect. darstellen mit was immer du willst.
Deine Brennerlaufzeit Werte werden ja nun schon in die InfluxDB geschrieben und damit aufgezeichnet (Archiviert). Im Grafana, kannst du dann damit eine Darstellung machen, nach zeitlichem Verlauf, gruppiert nach Tagen, Wochen, Monaten, Jahren...
Ich will mal versuchen Dir meine Lösung mit meinem Energiezählen im Grafana zu zeigen. Dieser hat auch nur einen Wert kWh, welcher täglich ansteigt, wie deine Brennerlaufzeit.
(Gut, meiner resetet sich jeden Tag, aber das ist erstmal egal)
Hier ein Stat Beispiel wie man den Wert nur Heute darstellen lässt:
Unter Query options die Relative time auf "now/d" stellen.
Unter SELECT reicht ein "field(value)"
Damit sollter er die Laufzeit Heute darstellen.
Bei einer Wochendarstellung habe ich unter Query options die Relative time auf "now/w" gestellt, um quasi die Woche zusammen zu rechnen.
Bei SELECT "field(value)" habe ich noch einen SELECTOR "max" hinzugefügt, um immer den max Wert eines Tages zu nehmen. Man will ja nicht alle Laufzeiten summiert haben.
Bei GROUP BY habe ich dann time (1d) gesetzt um quasi jeden Tag in einer Woche zu berechnen:
Bei einem Monat sieht es dann so aus.
Relative time auf "now/M" (das "M" wirklich groß schreiben, sonst sind es Minuten!)
Der Rest wie bei Wochendarstellung:
Du kannst auch Quartale nehmen mit Relative time auf "now/Q" oder ein Quartale "1Q" oder zwei Quartale "2Q" ohne "now/"
Und beim aktuellen Jahr dann die Relative time auf "now/y"
Willst du die Laufzeit von einem Gesamten Jahr, also inkl. altem Jahr, dann lass das "now/" weg, also nur "y" oder bei zwei Jahren "2y" usw.
Gruppiert habe ich das bei mir wieder nach einem Tag "time(1d)" mit nur dem max Wert:
Willst du das im Zeitlichen Verlauf darstellen, als Balkendiagram oder was auch immer geht das auch.
Hier eine Tagesansicht für ein Jahr als Beispiel:
Dargestellt wird die Relative Zeit eines Jahres "1y" als Zeitlicher Verlauf.
Dabei wird jeder Tag dargestellt (GROUP BY = time(1d)) und nur der max Wert jedes Tages genommen (SELECT > SELECTOR > max)
Bei einer Wochendarstellung habe ich die Relative Zeit auf "12M" gestellt, um die letzten 12 Monate darzustellen. Geht auch "1y" oder wie lange du das zurück darstellen willst.
Als Gruppierung (GROUP BY) habe ich dann "1w" gewählt, um eine Woche zur Berechnung zu nehmen und dann wieder nur den "max" Wert bei SELECT, da ich ja nur den Wochen max Wert brauche und nicht alle aufgezeichneten summiert:
Bei einer Monatsdarstellung gibt es dann eine Besonderheit.
Hier habe ich dann auch wieder die Zeitspanne ein Jahr "1y" gewählt, damit ich alle Monate bis vor einem Jahr sehe.
Bei der Zeitgruppierung (GROUP BY) kann man aber jetzt nicht "1M" auswählen, um jetzt nach einem Monat zu gruppieren! Das kann Grafana nämlich leider nicht, siehe Klick
Man könnte es wohl in der InfluxDB direkt gruppieren, aber das mache ich selber auch nicht so.
Ich habe stattdesten einfach 4 Wochen genommen (4w), auch wenn ein Monat nicht immer genau 4 Wochen hat, aber egal 😉
Und bei einem Jahr habe ich dann als Zeitspanne aktuell 2 Jahre "2y" genommen (so lange läuft meine Aufzeichnung) und als GROUP BY 52 Wochen "52w", was ungefähr ein Jahr ergibt:
Ich muss mal noch schauen, wie ich die Timeline unter dem Graphen noch so dargestellt bekomme, dass da pro Balken nur die Jahreszahl steht...
Am Ende kann es bei Dir auch so aussehen, nur halt mit Brennerlaufzeit, muss aber nicht 😉
(Bei mir passt nur die Berechnung nach Woche / Monat / Jahr im Balkendiagrammverlauf noch nicht. Ich komme da noch nicht auf richtige Werte, weil mein kWh Wert ja jeden Tag resetet wird)
Das Problem sollte bei Dir aber bei kontinuierlichem ansteigenden Brennerlaufzeitstunden nicht bestehen:
Versuch das erstmal bei Dir so. Vielleicht hilft Dir das weiter.
VG ✌
@koeber Vielen Dank für deine Hilfe, damit hast du mir sehr weiter geholfen