Seite 1 von 4

Durchschnittstemperatur anzeigen

Verfasst: 18. Mär 2022 11:51
von Lactobacillus
Hallo,

ich nutze seit einiger Zeit ein Item um den täglichen Stromverbrauch der Wärmepumpe anzeigen zu lassen. Um das aber genau vergleichen zu können wäre es sinnvoll auch die tägliche Durchschnittstemperatur vom Netatmo Außengerät zu kennen. Grafana zeigt mir das ja an allerdings hätte ich es gerne im Habpanel bzw. mit der täglichen Telegram Meldung weitergeleitet. Weis aber nicht so recht wie ich da ansetzen soll um ein Item zu bekommen bzw. dann die Telegramnachricht zu erweitern damit sie nicht nur den Stromstand um 13.30 anzeigt sondern auch die gemessene Außentemperatur von 13:20-13:20 oder so ähnlich!
Arbeite nahezu nur über die WebUI aber VS Code versuche ich auch gerade wieder zum laufen zu bringen!

Re: Durchschnittstemperatur anzeigen

Verfasst: 18. Mär 2022 21:38
von udo1toni
Das Item ist ja persistiert, Du kannst in einer Rule deshalb auf die Funktion averageSince() zugreifen, also so:

Code: Alles auswählen

TempOut.averageSince(now.minusDays(1))
Allerdings hat openHAB manchmal eigene Vorstellungen, wie man average berechnet... :)

Re: Durchschnittstemperatur anzeigen

Verfasst: 19. Mär 2022 10:55
von Lactobacillus
udo1toni hat geschrieben: 18. Mär 2022 21:38 Das Item ist ja persistiert, Du kannst in einer Rule deshalb auf die Funktion averageSince() zugreifen, also so:

Code: Alles auswählen

TempOut.averageSince(now.minusDays(1))
Allerdings hat openHAB manchmal eigene Vorstellungen, wie man average berechnet... :)
Ganz so fit bin ich da nicht, ist eine rule nicht normal so aufgebaut dass eine Art wenn dann Aktion nötig ist?

Re: Durchschnittstemperatur anzeigen

Verfasst: 19. Mär 2022 19:52
von udo1toni
Ja, das kannst Du aber auch über die UI erstellen lassen, dann siehst Du direkt alle Möglichkeiten. Hier wäre vermutlich ein Time cron Ausdruck sinnvoll, der die Rule zu bestimmten Uhrzeiten startet. Den Code erstellst Du dann als DSL Rule. Da Du den Wert anzeigen willst, brauchst Du ein Item dazu, in dem Du den Wert eintragen kannst. Innerhalb des Codes verwendest Du dann

Code: Alles auswählen

AnzeigeItem.postUpdate(TempOut.averageSince(now.minusDays(1)))
Du kannst AnzeigeItem auch als String Item definieren, dann kannst Du sogar mehrere Werte anzeigen,
z.B. niedrigste/aktuelle/höchste/Durchschnittstemperatur, da sind der Phantasie kaum Grenzen gesetzt. Es kommt ja nur darauf an, welche Befehle Du in die Rule schreibst.

Re: Durchschnittstemperatur anzeigen

Verfasst: 19. Mär 2022 20:35
von Lactobacillus
Verstehe mal wieder nur Bahnhof. :roll:

In der Regel soll es so sein dass der Durchschnitt in etwa von 13.30-1330 abgefragt wird weil da auch der Stromverbrauch der Wärmepumpe abgegriffen wird.
Da wird dann die Telegram Nachricht ausgegeben. Damit ich nicht noch einen TelegramBot erstellen muß wäre es gut wenn es da mitkommt!

Code: Alles auswählen

rule "Waermepumpe um 13:30 Telegram"
when
   Item Verbrauch_gesamt changed
then
   val telegramAction = getActions("telegram","telegram:telegramBot:72fede4e77")
   telegramAction.sendTelegram("Verbrauch ist: " +Verbrauch_gesamt.state +" Hallo, dies ist der Verbrauch der täglich um 13:30 vom Stromzähler deiner Wärmepumpe abgelesen wird! Schönen Tag noch.")
end

Re: Durchschnittstemperatur anzeigen

Verfasst: 19. Mär 2022 20:49
von udo1toni
Ah. Dann reicht es ja, die Zeile zu ergänzen und den wert erst gar nicht in einem Item zu speichern, sondern direkt mit auszugeben:

Code: Alles auswählen

rule "Waermepumpe um 13:30 Telegram"
when
   Item Verbrauch_gesamt changed
then
   val telegramAction = getActions("telegram","telegram:telegramBot:72fede4e77")
   val Temp = TempOut.averageSince(now.minusDays(1))
   telegramAction.sendTelegram("Verbrauch ist: " +Verbrauch_gesamt.state +" Hallo, dies ist der Verbrauch der täglich um 13:30 vom Stromzähler deiner Wärmepumpe abgelesen wird! Die Durchschnittstemperatur war " + Temp.toString + " °C. Schönen Tag noch.")
end

Re: Durchschnittstemperatur anzeigen

Verfasst: 19. Mär 2022 20:55
von Lactobacillus
Jo allerdings weis ich noch nicht so recht wie ich zu den Durchschnittswerten komme.

Habe jetzt ein DummyItem als String erstellt das dann ja vermutlich den Wert anzeigen soll .

Re: Durchschnittstemperatur anzeigen

Verfasst: 19. Mär 2022 20:57
von udo1toni
Na, ich dachte, Du hast die Temperatur schon in Grafana drin? Die muss doch aus eineme Item kommen, welches auch persistiert sein muss, da es sonst nicht in Grafana auftaucht.

Re: Durchschnittstemperatur anzeigen

Verfasst: 19. Mär 2022 21:03
von Lactobacillus
Ja in Grafana ist es drin ich habe auch in der UI eine Kurve angezeigt weis aber irgendwie nicht wie ich von Grafana zurück zur UI komme und wie ich das Ganze von 13-13 oder so einstelle :cry:

Re: Durchschnittstemperatur anzeigen

Verfasst: 19. Mär 2022 21:29
von udo1toni
Du denkst zu kompliziert.
Du benötigst Grafana nicht für die Berechnung der Durchschnittswerte, das macht openHAB selbst, auf dem Original Item, welches Du auch in Grafana verwendest.