Seite 1 von 1
Group:Number:COUNT zum Zählen von ON oder OFF Zuständen
Verfasst: 14. Feb 2019 16:17
von PSch
Moin,
ich vermute derzeit, dass das oben angegebene Konstrukt dazu taugen könnte, um zu bestimmen, wieviele Switches einer Group im ON Zustand sind, oder welche Anzahl im OFF Zustand ist. Ich komme nur nicht hinter den Syntax.
gegeben:
Code: Alles auswählen
Group testgroup
Switch MeinSwitch1 "test1" (testgroup)
Switch MeinSwitch2 "test2" (testgroup)
Switch MeinSwitch3 "test3" (testgroup)
Wie muß ich jetzt Group:Number:COUNT(????) definieren, damit ich die Anzahl der ON Switches bekomme?
Gruß
Peter
Re: Group:Number:COUNT zum Zählen von ON oder OFF Zuständen
Verfasst: 14. Feb 2019 18:54
von udo1toni
Code: Alles auswählen
Group:Switch:OR(ON,OFF) testgroup"Anzahl eingeschalteter Geräte [%d]"
Ein COUNT kenne ich nicht.
https://www.openhab.org/docs/configurat ... tml#groups und etwa eineinhalb Seiten runter scrollen, da sind alle Group-Funktionen gelistet.
Re: Group:Number:COUNT zum Zählen von ON oder OFF Zuständen
Verfasst: 14. Feb 2019 19:54
von PSch
Hi udo1toni,
super. Ich hatte immer Number statt Switch eingetragen...da gibt es dann mecker wegen dem ON oder "ON" oder was auch immer da eingetragen wird. Jetzt brauche ich nur noch eine Möglichkeit, da aus einer Rule drauf zuzugreifen.
Kannst du da auch weiterhelfen.
Gruß Peter
Re: Group:Number:COUNT zum Zählen von ON oder OFF Zuständen
Verfasst: 14. Feb 2019 21:46
von PSch
Hm, COUNT hab ich hier gefunden:
https://www.openhab.org/docs/concepts/i ... mber-items
und nach deiner (ersten) Anleitung auch probiert, funktioniert auch...
Bleibt das Problem, in einer Rule diesen Wert auszulesen, bisher hab ich es nur in einer Sitemap darstellen können.
Gruß
Peter
Re: Group:Number:COUNT zum Zählen von ON oder OFF Zuständen
Verfasst: 14. Feb 2019 22:42
von udo1toni
In einer Rule macht man das anders

und es ist eigentlich sogar logischer.
Code: Alles auswählen
rule "log count"
when
Member of gSwitchgroup changed
then
logInfo("logCount","eingeschaltet sind {} items",gSwitchgroup.members.filter[m|m.state == ON].size)
logInfo("logCount","ausgeschaltet sind {} items",gSwitchgroup.members.filter[m|m.state == OFF].size)
logInfo("logCount","uninitialisiert sind {} items",gSwitchgroup.members.filter[m|m.state == NULL].size)
end
Was COUNT betrifft, so hatte ich auch das Gefühl das mal gesehen zu haben. Das ist allerdings eine doofe Inkonsistenz in der Doku. Außerdem sollte die Doku sich nicht selbst doppeln.
COUNT erwartet offensichtlich eine Regular Expression, für ON wäre das dann vermutlich "ON", aber man könnte auch "ON|0[1-9]|[1-9].*"schreiben um Schalter und Dimmer in einer Gruppe nach ON zählen zu lassen.