Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
.items:
String TempMinMax "Temperatur (min/max) [%s]" <temperature> //und kein Binding :)
Number TempMin "" {...bla}
Number TempMax "" {...bla}
.rules:
rule "update TempMinMax"
when
Item TempMin received update or
Item TempMax received update
then
TempMinMax.postUpdate(TempMin.state.toString+" °C / "+TempMax.state.toString+" °C")
end
Das ist erstmal ins blaue... vermutlich wird es hässliche Nachkommastellen geben, da gibt's glaube ich auch eine Funktion...
Kann auch sein, dass man noch was nachbasteln muss, wenn das System startet, könnte einer der beiden Parameter uninitialized sein, während der andere schon gesetzt ist.
Ich habe gemäß deinem Vorschlag alles umgesetzt. Klappt auch prima! Vielen Dank!
Wie du aber auch schon erwartet hast, ergibt sich die kleine "Unschönheit" bezüglich der Nachkommastellen.
Jetzt suche ich eine Funktion, mit der man entweder die Nachkommastellen wegbekommt (das Binding liefert nun mal 2 Nachkommastellen) - oder eine Substring-Funktion, mit der ich aus dem String "23.00" ein "23" mache.
rule "Temperaturvorhersage"
when
Item Temp_Vorschau_Min received update or
Item Temp_Vorschau_Max received update or
System started
then
var int Temp_Feldlaenge = Temp_Vorschau_Min.state.toString.length
var String Temp_Min = Temp_Vorschau_Min.state.toString.mid(0, Temp_Feldlaenge - 3)
Temp_Feldlaenge = Temp_Vorschau_Max.state.toString.length
var String Temp_Max = Temp_Vorschau_Max.state.toString.mid(0, Temp_Feldlaenge - 3)
Temp_Min_Max.postUpdate(Temp_Min + " °C / " + Temp_Max + " °C")
end
hab auch nochmal geschaut geht auch so: TempMinMax.postUpdate(TempMin.state.format("%.0f") +" °C / "+TempMax.state.format("%.0f")+" °C")
Die Schreibweise für das Zahlenformat ist wie bei der Item-Definition, also %.0f für null Nachkommastellen. Die Zeichen beim String abzuschneiden setzt voraus, dass immer die gleiche Anzahl Nachkommastellen ausgegeben werden (das ist nicht sicher, zumindest hab ich schon mal Rundungsfehler gesehen, da gab's dann 10 Nachkommastellen...)
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar