Damit Du dennoch die Einheit bekommst, kannst Du natürlich die Einheit "manuell" mit in den String schreiben:
Code: Alles auswählen
val T_akt = String::format("%.1f °C",(OWMLocalWeatherAndForecastCurrentApparentTemperature.state as QuantityType<Number>).floatValue)
Code: Alles auswählen
var Number nTemp = -274
if(OWMLocalWeatherAndForecastCurrentApparentTemperature.state instanceof Number)
nTemp = OWMLocalWeatherAndForecastCurrentApparentTemperature.state as QuantityType<Number>).floatValue
var String T_akt = ""
if(nTemp > -274)
T_akt = String::format("%.1f °C",nTemp)
else
T_akt = "- °C"
Der Punkt ist aber natürlich ein anderer. Liefert der Sensor (bzw. hier openWeatherMap) mal keinen Wert, so bricht die Rule nicht mit einer nullPointerException ab, sondern malt einen hübschen Strich statt des Wertes.
