Ich versuche mich aktuell an einer neuen rule, dabei geht es darum für ein Temperaturitem eine Tendenz (steigend, fallend) zu ermitteln. Dabei tu ich mich noch schwer mit der Syntax. Mein erster Ansatz sieht so aus:
Code: Alles auswählen
Items:
Group:Number:AVG gTemperaturDraussen "Temperatursensor Aussenbereich [%.2f °C]" <temperature> (Home) ["CurrentTemperature"]
Number:Temperature Draussen_Temperatur "openWeatherMap Temperatursensor [%.1f °C]" <temperature> (gTemperaturDraussen) {channel="openweathermap:weather-and-forecast:api:local:current#temperature"}
Number:Temperature LokalesWetterMitVorhersageCurrentTemperature "DarkSky Temperatursensor [%.1f °C]" <temperature> (gTemperaturDraussen) {channel="darksky:weather-and-forecast:api:local:current#temperature"}
String Aussentemperatur_Tendenz "Temperatur Tendenz [%s]" <temperature>
Mein erster rule Ansatz sieht so aus:
Code: Alles auswählen
rule "Aussentemperatur Tendenz ermitteln"
when
Item gTemperaturDraussen changed
then
if((gTemperaturDraussen.state as Number) >= (gTemperaturDraussen.previousState().state as Number)){
Aussentemperatur_Tendenz.postUpdate("steigend")
logInfo("Aussentemperatur", "steigt")
}
else if((gTemperaturDraussen.state as Number) == (gTemperaturDraussen.previousState().state as Number)){
Aussentemperatur_Tendenz.postUpdate("stagnierend")
logInfo("Aussentemperatur", "stagniert")
}
else if((gTemperaturDraussen.state as Number) <= (gTemperaturDraussen.previousState().state as Number)){
Aussentemperatur_Tendenz.postUpdate("fallend")
logInfo("Aussentemperatur", "fällt")
}
end