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