Seite 1 von 1

Max/Min Werte aus Gruppe

Verfasst: 4. Mär 2021 13:00
von galaxisspatz
Moin,
ich versuche aus einer Gruppe mir die jeweiligen Maximalwerte des Tages anzeigen zu lassen.

Items

Code: Alles auswählen

Number    TankstelleAralDiesel        "Aral"    (gDiesel)        {channel="tankerkoenig:station:57246344:diesel"}
Number    TankstelleAralE5            "Aral"        (gE5)        {channel="tankerkoenig:station:57246344:e5"}
Contact   TankstelleAralStationOpen   "Öffnungs status"   {channel="tankerkoenig:station:57246344:station_open"}

Number    TankstelleJETBUXTEHUDEDiesel        "Jet"   (gDiesel)         {channel="tankerkoenig:station:6de0f6f4:diesel"}
Number    TankstelleJETBUXTEHUDEE5            "Jet"       (gE5)          {channel="tankerkoenig:station:6de0f6f4:e5"}
Contact   TankstelleJETBUXTEHUDEStationOpen   "Öffnungs status"   {channel="tankerkoenig:station:6de0f6f4:station_open"}

Number    TankstelleShellDiesel        "Shell"      (gDiesel)      {channel="tankerkoenig:station:02525b01:diesel"}
Number    TankstelleShellE5            "Shell"         (gE5)        {channel="tankerkoenig:station:02525b01:e5"}
Contact   TankstelleShellStationOpen   "Öffnungs status"   {channel="tankerkoenig:station:02525b01:station_open"}

Number    TankstelleStarLuneburgerSchanzeDiesel        "Star"    (gDiesel)        {channel="tankerkoenig:station:d6887afa:diesel"}
Number    TankstelleStarLuneburgerSchanzeE5            "Star"         (gE5)        {channel="tankerkoenig:station:d6887afa:e5"}
Contact   TankstelleStarLuneburgerSchanzeStationOpen   "Öffnungs status"   {channel="tankerkoenig:station:d6887afa:station_open"}

Group gDiesel "Diesel"
Group gE5     "E5"

Number gE5_Tages_max
Number gE5_Tages_min
Rule

Code: Alles auswählen

rule "Tanken Tageswerte E5"
when
	Item gE5 changed or
	Time cron "0 0 0 * * ?" or
	System started
then	
	postUpdate(gE5_Tages_max, gE5.maximumSince(now.withTimeAtStartOfDay).state)
	postUpdate(gE5_Tages_min, gE5.minimumSince(now.withTimeAtStartOfDay).state)
end
das ganze soll dann als auf der Sidemap als

Code: Alles auswählen

Text item=gE5_Tages_max label="Tageshoch"
Text item=gE5_Tages_min label="Tagestief"
ausgegeben werden.
Leider erhalte ich keine Werte aus der Rule.


Gruß
Olaf

Re: Max/Min Werte aus Gruppe

Verfasst: 4. Mär 2021 13:32
von int5749
Schau mal hier => openHAB Docu

Dort kannst Du für Gruppen mit Number Items diverse Werte anzeigen lassen, u.a. auch max

Re: Max/Min Werte aus Gruppe

Verfasst: 4. Mär 2021 14:41
von galaxisspatz
Hallo int5749,
danke. Damit bekomme ich doch aber nur das akteulle Min/Max und nicht das über die Zeit xy (z.B. den Tag)

Re: Max/Min Werte aus Gruppe

Verfasst: 4. Mär 2021 15:00
von int5749
galaxisspatz hat geschrieben: 4. Mär 2021 14:41 Hallo int5749,
danke. Damit bekomme ich doch aber nur das akteulle Min/Max und nicht das über die Zeit xy (z.B. den Tag)
Ja, aber das könntest Du in ein Dummy Item packen. Komme gerade nicht an den REchner mit meiner OH und VSC.

Aber Du könntest in einer Rule "gE5 changed" reagieren und dann vergleichen, ob der neue Wert görßer oder kleiner ist und wenn größer, das Dummy istem über postUpdate anpassen. Alternativ geht auch eine persitenct ;-)

VG

Re: Max/Min Werte aus Gruppe

Verfasst: 4. Mär 2021 17:05
von galaxisspatz
finde den Fehler nicht, kannst du bitte einmal drauf sehen

ITEMS

Code: Alles auswählen

Number    TankstelleAralDiesel        "Aral"    (gDiesel)        {channel="tankerkoenig:station:57246344:diesel"}
Number    TankstelleAralE5            "Aral"        (gE5, gE5_max, gE5_min)        {channel="tankerkoenig:station:57246344:e5"}
Contact   TankstelleAralStationOpen   "Öffnungs status"   {channel="tankerkoenig:station:57246344:station_open"}

Number    TankstelleJETBUXTEHUDEDiesel        "Jet"   (gDiesel)         {channel="tankerkoenig:station:6de0f6f4:diesel"}
Number    TankstelleJETBUXTEHUDEE5            "Jet"       (gE5, gE5_max, gE5_min)          {channel="tankerkoenig:station:6de0f6f4:e5"}
Contact   TankstelleJETBUXTEHUDEStationOpen   "Öffnungs status"   {channel="tankerkoenig:station:6de0f6f4:station_open"}

Number    TankstelleShellDiesel        "Shell"      (gDiesel)      {channel="tankerkoenig:station:02525b01:diesel"}
Number    TankstelleShellE5            "Shell"         (gE5, gE5_max, gE5_min)        {channel="tankerkoenig:station:02525b01:e5"}
Contact   TankstelleShellStationOpen   "Öffnungs status"   {channel="tankerkoenig:station:02525b01:station_open"}

Number    TankstelleStarLuneburgerSchanzeDiesel        "Star"    (gDiesel)        {channel="tankerkoenig:station:d6887afa:diesel"}
Number    TankstelleStarLuneburgerSchanzeE5            "Star"         (gE5, gE5_max, gE5_min)        {channel="tankerkoenig:station:d6887afa:e5"}
Contact   TankstelleStarLuneburgerSchanzeStationOpen   "Öffnungs status"   {channel="tankerkoenig:station:d6887afa:station_open"}

Group gDiesel "Diesel"
Group gE5     "E5"

Group:Number:MAX gE5_max
Group:Number:MIN gE5_min

Number gE5_Tages_max
Number gE5_Tages_min
RULE

Code: Alles auswählen

rule "Tanken Tageswerte E5"
when
	Item gE5_max changed or
    	gE5_min changed or
	Time cron "0 0 0 * * ?" or
	System started
then	
	postUpdate(gE5_Tages_max, gE5_max.maximumSince(now.withTimeAtStartOfDay).state)
	postUpdate(gE5_Tages_min, gE5_min.minimumSince(now.withTimeAtStartOfDay).state)
end
Bei gE5_max und gE5_min habe ich Werte aber es wird nichts an gE5_Tages_max und gE5_Tages_min übergeben. Ich ahbe auch schon einen anderen Trigger ausprobiert und das Auslösen mit einem Logeintrag überwacht.

Re: Max/Min Werte aus Gruppe

Verfasst: 4. Mär 2021 18:56
von udo1toni
Also hier kommen eventuell mehrere Dinge zusammen.

Punkt 1: es würde mich wundern, wenn gE5 überhaupt jemals einen Wert anzeigen würde. Das liegt daran, dass es keinen bestimmten Typ hat. Somit sollte der Status dieses Items niemals von openHAB gesetzt werrden.
Punkt 2: Hast Du denn die Persistence für gE5 auch aktiviert? Wenn ja, welche? Und ist dies auch die default Persistence?

Re: Max/Min Werte aus Gruppe

Verfasst: 5. Mär 2021 16:36
von galaxisspatz
Hallo Uwe,
1)gE5 hat mit dem Problem ja nichts zu tun, meinst du gE5_max / gE5_min? Wenn ja, diese funktionieren

Bild

2) nein habe ich auch nicht, da auch nicht nötig (das selbe für gE5_max / gE5_min)

Gruß
Olaf

Re: Max/Min Werte aus Gruppe

Verfasst: 5. Mär 2021 19:37
von udo1toni
Nein? Ich rede von g5E, das ist die Group Variable, deren Minimal/Maximalwerte Du auslesen willst.

Ach, ich sehe gerade, Du hast zwei unterschiedliche Versionen der Rule eingestellt...

Re: Max/Min Werte aus Gruppe

Verfasst: 5. Mär 2021 23:24
von int5749
galaxisspatz hat geschrieben: 5. Mär 2021 16:36 2) nein habe ich auch nicht, da auch nicht nötig (das selbe für gE5_max / gE5_min)
Ye-es … but … myItem.maximumSince(XX) is a persistence based method. :)

Re: Max/Min Werte aus Gruppe

Verfasst: 9. Mär 2021 20:12
von galaxisspatz
Hallo ihr beide,
super, mit dem letzen Link von int5749 hat es geklappt.
Danke und Gruß
Olaf