Seite 1 von 2

Rule Anzahl von Items mit bestimmten Wert

Verfasst: 19. Sep 2022 07:34
von N1d45
Moin. Ich habe schon gesucht, aber bin nicht richtig fündig geworden. Wahrscheinlich fehlt mir nur der richtige Suchbegriff.

Ich würde gern die Summe von Items die einen bestimmten Wert haben zusammen fassen.
Z.B. habe ich 7 Fensterkontakte, und würde gern ermitteln, wie viele davon offen, wie viele davon geschlossen und wie viele davon gekippt sind.
Oder die Summe der Lichter die An sind.

Wie geht man dabei vor? Gibt es dafür schon Anleitungen? Dann wäre ich über ein Link erfreut.

Danke

Re: Rule Anzahl von Items mit bestimmten Wert

Verfasst: 19. Sep 2022 07:44
von Tokamak
Schau dir Gruppen-Items an, die können das in dem meisten Fällen von Hause aus, etwa als Group:Switch:SUM:

https://www.openhab.org/docs/configurat ... tml#groups

Für Werte, die so nicht gehen, meist Differenzen, kannst du kurze Rules anlegen, um die sie auszurechnen und in weitere Number-Items abzulegen.

Re: Rule Anzahl von Items mit bestimmten Wert

Verfasst: 19. Sep 2022 07:59
von N1d45
Danke.
Die Beispiele von dort.

Code: Alles auswählen

Group:Number                Lights        "Active Lights [%d]"              // e.g. "2"
Group:Switch:OR(ON,OFF)     Lights        "Active Lights [%d]"              // e.g. ON and "2"
Group:Switch:AND(ON,OFF)    Lights        "Active Lights [%d]"              // e.g. ON and "2"
Group:Number:AVG            Temperatures  "All Room Temperatures [%.1f °C]" // e.g. "21.3 °C"
Group:DateTime:EARLIEST     LatestUpdate "Latest Update [%1$tY.%1$tm.%1$tY %1$tH:%1$tM:%1$tS]"
Group:DateTime:LATEST       LastSeen  "Last Seen [%1$tY.%1$tm.%1$tY %1$tH:%1$tM:%1$tS]"
Group:Number:COUNT("OFFLINE")     OfflineDevices "Offline Devices [%d]"     // e.g. "2"
Ich denke das letzte Beispiel wäre dann das Richtige.

Dann muss ich ein Item als Text anlegen? Oder geht es auch in der MainUI über das Model?

[Edit]
Über die Textfile im Items Ordner habe ich es hinbekommen.

Code: Alles auswählen

Group:Number:COUNT("OPEN")     OpenWindows "Offene Fenster [%d]"
Group:Number:COUNT("CLOSED")   CloseWindows "Geschlossene Fenster [%d]"
Group:Number:COUNT("AJAR")     AjarWindows "Gekippte Fenster [%d]"
Die Fensterkontakte müssen nur Mitglieder der Gruppen werden.

Über das Semantic Model habe ich es nicht hinbekommen. Da habe ich Funktionen von MIN, MAX, AVR, SUM, EARLIEST, LATEST gefunden. Aber nicht das COUNT.
Gibt es eine Möglichkeit über das Semantic Model?

Re: Rule Anzahl von Items mit bestimmten Wert

Verfasst: 19. Sep 2022 09:32
von udo1toni
Die Definition der Gruppe kannst Du auch ganz normal über die UI vornehmen. Warum COUNT im Semantic Model nicht auftaucht, müsste man mal genauer hinschauen, eigentlich sollte das funktionieren.

Re: Rule Anzahl von Items mit bestimmten Wert

Verfasst: 19. Sep 2022 09:48
von N1d45
Bei Number gibt es nur:
Members Base Typ.png
Die anderen "Members Base Typ" hab ich auch durchgeschaut. Da findet sich kein "Count" bei "Aggregation Function" .

Bei "Members Base Typ" "Contact" findet sich noch:
Members Base Typ Contact.png
Was aber auch keine Summe eines bestimmten Wertes zulässt. Auch könnte man da Gekippt nicht berücksichtigen.

Oder bin ich da am völlig falschen Ort?

Die Fenster Kontakt Items haben ja auch eher einen String als Wert. (CLOSED, OPEN, AJAR)
Bei "Members Base Typ" "String" findet sich keine Auswahlmöglichkeit für "Aggregation Function".

Aber das Text basierende Item kommt damit problemlos zurecht.

Re: Rule Anzahl von Items mit bestimmten Wert

Verfasst: 19. Sep 2022 09:57
von udo1toni
Genau. Gekippt geht nur über den Umweg String Item.
Wenn Du Dir das per Text erstellte Group Item über die UI anschaust, was zeigt die Aggregatfunktion dann an?

Re: Rule Anzahl von Items mit bestimmten Wert

Verfasst: 19. Sep 2022 15:31
von N1d45
Entschuldigt die späte Antwort. Bin unterwegs.

Habe es doch mit dem Handy hinbekommen dort nachzusehen (gar nicht so einfach auf einem kleinen Touch Bildschirm)

Dort steht unter „Members Base Typ“ „Number“
Und unter „Aggregation Function“ „None“

Re: Rule Anzahl von Items mit bestimmten Wert

Verfasst: 19. Sep 2022 17:37
von udo1toni
Das ist interessant. Falsch, aber interessant. :)
Grundsätzlich muss das auch über die UI funktionieren, kann natürlich sein, dass es einfach vergessen wurde...

Re: Rule Anzahl von Items mit bestimmten Wert

Verfasst: 19. Sep 2022 18:26
von N1d45
Als Nachtrag noch das Bild von der AJAR Gruppe.

Code: Alles auswählen

Group:Number:COUNT("OPEN")     OpenWindows "Offene Fenster [%d]"
Group:Number:COUNT("CLOSED")   CloseWindows "Geschlossene Fenster [%d]"
Group:Number:COUNT("AJAR")     AjarWindows "Gekippte Fenster [%d]"
Members Base Typ Contact Aggregation.png
Funktioniert ja einwandfrei. Nur über die UI kommt man nicht ran.

Kann, darf, muss, sollte man das melden?

Re: Rule Anzahl von Items mit bestimmten Wert

Verfasst: 19. Sep 2022 19:17
von udo1toni
Ja, sollte gemeldet werden, gerne vorher im englischen Forum, gerne mit dem konkreten beschreiben (also dass die Erstellung per Text funktioniert und anschließend in der UI nicht korrekt angezeigt wird)

Welche Version genau verwendest Du?