Rule für Fensterkontakt Status funktioniert nicht mehr
Verfasst: 27. Nov 2023 12:40
Hallo,
seit dem Update auf 4.0.4 funktioniert diese Rule nicht mehr.
Diese Zeile wird als fehlerhaft deklariert. Was muss da angepasst werden und wie?
Danke
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)