Ja, das geht. Allerdings wäre es vermutlich besser, zu versuchen, die Werte doch in ein Number Item zu bringen, damit auch das Persistieren korrekt funktioniert. Vielleicht möchtest Du mal einen Graphen vom Temperaturverlauf haben, das wird mit Strings auch eher Glücksache.
Einfachste Variante wäre, ein Proxy Item zu verwenden, also ein ungebundenes Number Item, welches dann die Temperatur bekommt:
und eine Rule dazu:
Ich kann das allerdings gerade nicht verifizieren.
Diese Variante hat den Vorteil, dass, falls das Problem mit den nicht gelieferten Daten aus dem exec Binding gelöst wird, alles drumherum gebaute unverändert bleiben kann, nur das Proxy Item und die zugehörige Rule können dann entfallen.
Einfachste Variante wäre, ein Proxy Item zu verwenden, also ein ungebundenes Number Item, welches dann die Temperatur bekommt:
Code:
String Temperatur_AQ_Wof_String {channel="exec:command:Temperatur_AQ_S2:output"} Number Temperatur_AQ_Wof_Value "Wasseroberfläche [%.1f°C]" (Temp_AQ_Graph) [ "CurrentTemperature" ]
Code:
rule "Update AQ_Wof" when Item Temperatur_AQ_Wof_String received update then var Float myTemp = null try { myTemp = Float.parseFloat(Temperatur_AQ_Wof_String.state) Temperatur_AQ_Wof_Value.postUpdate(myTemp) } catch (NumberFormatException e) { logError("AQ_Wof","Temperatur_AQ_Wof_String is not a number") } end
Diese Variante hat den Vorteil, dass, falls das Problem mit den nicht gelieferten Daten aus dem exec Binding gelöst wird, alles drumherum gebaute unverändert bleiben kann, nur das Proxy Item und die zugehörige Rule können dann entfallen.
Kommentar