seit dem Update auf 4.0.4 funktioniert diese Rule nicht mehr.
Code: Alles auswählen
rule "update group status"
when
Member of gFenster_Schlafzimmer changed or
Member of gFenster_Paul changed or
Member of gFenster_Julia changed or
Member of gFenster_Badezimmer changed or
Member of gFenster_WC changed or
Member of gFenster_Garage changed or
Member of gFenster_Kueche changed or
Member of gFenster_Esszimmer changed or
Member of gFenster_Wohnzimmer changed or
Member of gFenster_Buero changed or
Member of gFenster_Waschkeller changed or
Member of gFenster_Vorratskeller changed or
Member of gFenster_Gaestezimmer changed or
Member of gFenster_Hobbyraum changed
then
logInfo("gwindow","Rule ausgelöst: {}",triggeringItem.name)
val String strRaum = triggeringItem.name.split("_").get(1) // Format des Itemnamens: Fenster_Raum_weiteres
val GroupItem g = gFenster_alle.members.filter[k|k.name.contains(strRaum)].head // Die Gruppe, welche die Rule getriggert hat
logInfo("gwindow","Group Item: {}",g.name)
val Integer intAnzahl = g.members.filter[i|i.state != "CLOSED"].size // Anzahl der Fenster der Gruppe, die nicht geschlossen sind
val zielStat = gFenster_alle_Status.members.filter[j|j.name.contains(strRaum)].head // das Item der Gruppe gstate, welches zum Raum gehört
val zielNum = gFenster_alle_Anzahl_offen.members.filter[j|j.name.contains(strRaum)].head // das Item der Gruppe gnumber, welches zum Raum gehört
logInfo("gwindow","Anzahl Itemname: {} ({})",zielNum.name,intAnzahl)
logInfo("gwindow","Zustand Itemname: {} ({})",zielStat.name,if(intAnzahl > 0) OPEN else CLOSED)
if(intAnzahl > 0)
zielStat.postUpdate(OPEN)
else
zielStat.postUpdate(CLOSED)
zielNum.postUpdate(intAnzahl)
end
Code: Alles auswählen
val GroupItem g = gFenster_alle.members.filter[k|k.name.contains(strRaum)].head // Die Gruppe, welche die Rule getriggert hat
Code: Alles auswählen
Type mismatch: cannot convert from Item to GroupItem(org.eclipse.xtext.xbase.validation.IssueCodes.incompatible_types)