rule "PumpenmailWLAN"
when
Item DeviceWifiSignal changed
then
var DeviceWifiSignal = (DeviceWifiSignal.state as Number).floatValue
if(DeviceWifiSignal.state == 0)
mailActions.sendMail("xx.xx@gmail.com", "Pumpe kein Wlan", "Zur Info ... ")
end
ich bekomme immer folgende Fehler:
The method state(int) is undefined for the type float
The method or field state is undefined for the type Number
hänge schon Stunden am suchen und testen ... finde nicht woran es liegt?!
Ich weiss zwar nicht genau, wie dein Item (DeviceWifiSignal) aussieht, und was du genau erreichen willst, aber wenn du ein Item-Wert in einer Variablen hinterlegen willst, dann solltest du die Variable nicht genauso nennen, wie das Item. Eine Variable hat keine Methode(Value-Wert) "state". Daher kommen auch vermutlich die Fehlermeldungen.
Probier's mal so:
rule "PumpenmailWLAN"
when
Item DeviceWifiSignal changed
then
var vWiFiSignal = (DeviceWifiSignal.state as Number).floatValue
if(vWiFiSignal == 0)
mailActions.sendMail("xx.xx@gmail.com", "Pumpe kein Wlan", "Zur Info ... ")
end
Wenn das nicht klappt, solltest du mal das Item "DeviceWifiSignal" posten (und natürlich die Fehlermeldungen).
Gerne, freut mich, dass es geklappt hat. Vielleicht noch ein kleiner Hinweis. Falls du mehrzeilige Kommandos in der IF-Bedingung hast, solltest du die in "geschweifte Klammern" setzen:
rule "PumpenmailWLAN"
when
Item DeviceWifiSignal changed
then
var vWiFiSignal = (DeviceWifiSignal.state as Number).floatValue
if(vWiFiSignal == 0) {
mailActions.sendMail("xx.xx@gmail.com", "Pumpe kein Wlan", "Zur Info ... ")
}
end