Hallo
Ich würde gerne in OH2 einen benutzerdefinierten Status verwenden und mit der "changed to" Regel darauf reagieren.
Items:
Regel:
Das funktioniert so natürlich nicht, da nach "changed to" wohl eine State Klasse oder Rule Klasse oder was auch immer folgen muss. Daher wird die Regel nie ausgeführt. Kennt jemand hierfür eine saubere Lösung?
Ein Workaround wäre folgender:
Das endet dann aber in ziemlichen Spaghetti Code, was ich nicht möchte. Und auch die Idee, für jeden Status einen Switch einzuführen, führt zu unübersichtlichem Code. Ich suche quasi einen ENUM Ersatz.
Ich würde gerne in OH2 einen benutzerdefinierten Status verwenden und mit der "changed to" Regel darauf reagieren.
Items:
Code:
String HausStatus // Soll die Werte PRESENT, AWAY, PARTY, etc. beinhalten
Code:
rule "Abwesend"
when
Item HausStatus changed to AWAY
then
// Aktionen beim Verlassen des Hauses
end
rule "Gaeste"
when
Item HausStatus changed to PARTY
then
// Aktionen für die Party
end
Ein Workaround wäre folgender:
Code:
rule "Status Wechsel"
when
Item HausStatus changed
then
if (HausStatus.status == 'AWAY') {
// Aktionen beim Verlassen des Hauses
}
if (HausStatus.status == 'PARTY') {
// Aktionen beim Verlassen des Hauses
}
// u.s.w
end


Kommentar